PHP-数组元素上的strpo?
由于某些原因,我无法让strpo用于搜索我的阵列,即使PHP-数组元素上的strpo?,php,loops,search,strpos,Php,Loops,Search,Strpos,由于某些原因,我无法让strpo用于搜索我的阵列,即使$jobList[1]和$titlesearch是相同的值。。。抱歉,如果这是显而易见的,但我仍然是相当新的编码 我从我的$data数组开始,它如下所示: Array ( [0] => P0001 Lifeguard descexample 18/09/18 parttime fixedterm mail vic [2] => P0002 IT Manager de
$jobList[1]
和$titlesearch
是相同的值。。。抱歉,如果这是显而易见的,但我仍然是相当新的编码
我从我的$data
数组开始,它如下所示:
Array
(
[0] => P0001 Lifeguard descexample 18/09/18 parttime fixedterm mail vic
[2] => P0002 IT Manager descexample 18/09/18 fulltime ongoing post mail sa
)
if (strpos($jobList[1], $titlesearch) !== false) {
echo "nice one";
}
然后我将这些条目分解成各自的数组
for ($i = 0; $i < count($data); $i++) {
$jobList = explode("\t", $data[$i]);
}
Array
(
[0] => P0001
[1] => Lifeguard
[2] => descexample
[3] => 18/09/18
[4] => parttime
[5] => fixedterm
[6] =>
[7] => mail
[8] => vic
)
Array
(
[0] => P0002
[1] => IT Manager
[2] => descexample
[3] => 18/09/18
[4] => fulltime
[5] => ongoing
[6] => post
[7] => mail
[8] => sa
)
无论我尝试什么循环,strpos
都不会返回true,即使我回显值并且它们都给出相同的结果,所以我真的不确定我做错了什么:'(
非常感谢您的帮助!在使用此函数时,您应该始终比较数据类型,因为它可能不会返回布尔值,并且可能会导致错误 试着这样做:
Array
(
[0] => P0001 Lifeguard descexample 18/09/18 parttime fixedterm mail vic
[2] => P0002 IT Manager descexample 18/09/18 fulltime ongoing post mail sa
)
if (strpos($jobList[1], $titlesearch) !== false) {
echo "nice one";
}
这是因为strpos不返回布尔值。它返回找到的子字符串中的位置(可能是0),如果找不到,则返回-1。
$jobList=explode(“\t”,$data[$i]);
->>您不认为您正在覆盖这些值。您不会将第二个数组放入该变量中。@Vince0789strpos
可以返回布尔值。但它从不返回-1,这不是javascript。@u mulder ah是,您是对的。如果未找到子字符串,返回值为布尔值false,但是函数也可能会返回rn 0如果在字符串的开头找到了子字符串,那么仍然应该使用相同的运算符(===)进行比较。耶!这解释了为什么前几天我在处理它时它也能工作!非常感谢:)