<?php
$a = '';
if($a exist 'some text')
echo 'text';
?>
假设我有上面的代码,如何编写语句“if($ a exists'some text')”?
答案 0 :(得分:134)
使用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";
}
在你的情况下:
if( strpos( $a, 'some text' ) !== false ) echo 'text';
请注意,我使用!==
运算符(而非!= false
或== true
甚至只是if( strpos( ... ) ) {
)是因为PHP的"truthy"/"falsy"性质处理strpos
的返回值。
答案 1 :(得分:13)
空字符串是假的,所以你可以写:
if ($a) {
echo 'text';
}
虽然如果您询问该字符串中是否存在特定子字符串,您可以使用strpos()
来执行此操作:
if (strpos($a, 'some text') !== false) {
echo 'text';
}
答案 2 :(得分:4)
http://php.net/manual/en/function.strpos.php如果字符串中存在“some text”,我认为你是笨蛋吗?
if(strpos( $a , 'some text' ) !== false)
答案 3 :(得分:2)
您可以使用strpos()
或stripos()
来检查字符串是否包含给定的针头。它将返回找到它的位置,否则将返回FALSE。
使用运算符===
或`!==在PHP中将FALSE与0区别开来。
答案 4 :(得分:1)
您可以使用==
comparison operator检查变量是否与文字相同:
if( $a == 'some text') {
...
您还可以使用strpos
函数返回第一次出现的字符串:
<?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";
}
答案 5 :(得分:1)
您可以使用此代码
$a = '';
if(!empty($a))
echo 'text';
答案 6 :(得分:1)
如果您需要知道字符串中是否存在单词,则可以使用此单词。由于您的问题不清楚您是否只想知道变量是否为字符串。 “word”是您在字符串中搜索的单词。
if (strpos($a,'word') !== false) {
echo 'true';
}
或使用is_string方法。哪个在给定变量上返回true或false。
<?php
$a = '';
is_string($a);
?>
答案 7 :(得分:0)
是否要检查$ a是否为非空字符串? 所以它只包含任何文字? 然后以下内容将起作用。
如果$ a包含字符串,则可以使用以下内容:
if (!empty($a)) { // Means: if not empty
...
}
如果您还需要确认$ a实际上是一个字符串,请使用:
if (is_string($a) && !empty($a)) { // Means: if $a is a string and not empty
...
}