Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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-数组元素上的strpo?_Php_Loops_Search_Strpos - Fatal编程技术网

PHP-数组元素上的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

由于某些原因,我无法让strpo用于搜索我的阵列,即使
$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]);
->>您不认为您正在覆盖这些值。您不会将第二个数组放入该变量中。@Vince0789
strpos
可以返回布尔值。但它从不返回-1,这不是javascript。@u mulder ah是,您是对的。如果未找到子字符串,返回值为布尔值false,但是函数也可能会返回rn 0如果在字符串的开头找到了子字符串,那么仍然应该使用相同的运算符(===)进行比较。耶!这解释了为什么前几天我在处理它时它也能工作!非常感谢:)