Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP只是简单地使用strpos,而不是';我不能正常工作_Php - Fatal编程技术网

PHP只是简单地使用strpos,而不是';我不能正常工作

PHP只是简单地使用strpos,而不是';我不能正常工作,php,Php,在php中,我只想在字符串值中找到百分比,例如33%。以下代码可以正常工作: echo strpos("%", '33%') == true ? '33%' : '33' . '$'; 但当我将这个百分比放入变量时,strpos()它不能正常工作,例如: $move_money_data = '33%'; echo strpos("%", $move_money_data) == true ? $move_money_data : $move_money_dat

在php中,我只想在字符串值中找到百分比,例如
33%
。以下代码可以正常工作:

echo strpos("%", '33%') == true
    ? '33%'
    : '33' . '$';
但当我将这个百分比放入变量时,
strpos()
它不能正常工作,例如:

$move_money_data = '33%';
echo strpos("%", $move_money_data) == true
    ? $move_money_data
    : $move_money_data . '$';
我认为代码是正确的,但我不知道为什么当我将其放入变量时,结果是不正确的。

strpos中的顺序错误

$move_money_data = '33';
echo strpos($move_money_data, '%' ) === false ? ($move_money_data . '$') : $move_money_data;
//编辑 来自php.net

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

我不明白你的代码和echo strpos($move\u money\u data,“%”)之间有什么区别$move_money_data:($move_money_data.'$)如果未找到STRPO,则STRPO将返回false。它从不返回true only int。因此您应该避免检查它是否为true谢谢,我理解需要注意的是strps()从不返回true,因此将其与true进行比较是一种不好的做法。它要么返回false,要么返回一个整数,表示字符串在haystack中的位置。因此,您应该使用
!==false
而不是
==true
对其进行严格比较,否则不为false,否则,当它返回0时,将等于false,而不是true。