<?php
$a = '';
if($a exist 'some text')
echo 'text';
?>
Supposons que j'ai le code ci-dessus, comment écrire la déclaration "if ($ a exist 'some text')"?
Utilisez la fonction strpos
: http://php.net/manual/en/function.strpos.php
$haystack = "foo bar baz";
$needle = "bar";
if( strpos( $haystack, $needle ) !== false) {
echo "\"bar\" exists in the haystack variable";
}
Dans ton cas:
if( strpos( $a, 'some text' ) !== false ) echo 'text';
Notez que mon utilisation de l'opérateur !==
(au lieu de != false
ou == true
ou même simplement if( strpos( ... ) ) {
) est due à la nature "vérité"/"falsy" de la gestion par PHP de la valeur renvoyée de strpos
.
Les chaînes vides sont falsey, vous pouvez donc simplement écrire:
if ($a) {
echo 'text';
}
Cependant, si vous demandez si une sous-chaîne particulière existe dans cette chaîne, vous pouvez utiliser strpos()
pour le faire:
if (strpos($a, 'some text') !== false) {
echo 'text';
}
http://php.net/manual/en/function.strpos.php Je pense que vous vous demandez si un texte existe dans la chaîne, n'est-ce pas?
if(strpos( $a , 'some text' ) !== false)
Vous pouvez utiliser strpos()
ou stripos()
pour vérifier si la chaîne contient l'aiguille donnée. Il retournera la position où il a été trouvé, sinon retournera FALSE.
Utilisez les opérateurs ===
ou `! == pour différencier FALSE de 0 en PHP.
Vous pouvez utiliser l'opérateur de comparaison ==
pour vérifier si la variable est égale au texte:
if( $a == 'some text') {
...
Vous pouvez également utiliser la fonction strpos
pour renvoyer la première occurrence d'une chaîne:
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}
vous pouvez utiliser ce code
$a = '';
if(!empty($a))
echo 'text';
Si vous avez besoin de savoir si un mot existe dans une chaîne, vous pouvez l'utiliser. Comme il n’est pas clair dans votre question si vous voulez simplement savoir si la variable est une chaîne ou non. Où "Word" est le mot que vous recherchez dans la chaîne.
if (strpos($a,'Word') !== false) {
echo 'true';
}
ou utilisez la méthode is_string. Ce qui retourne vrai ou faux sur la variable donnée.
<?php
$a = '';
is_string($a);
?>
Voulez-vous vérifier si $ a est une chaîne non vide? Elle contient donc n'importe quel texte? Alors, la suite fonctionnera.
Si $ a contient une chaîne, vous pouvez utiliser les éléments suivants:
if (!empty($a)) { // Means: if not empty
...
}
Si vous devez également confirmer que $ a est en fait une chaîne, utilisez:
if (is_string($a) && !empty($a)) { // Means: if $a is a string and not empty
...
}