Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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_Arrays_Session_Strpos - Fatal编程技术网

Php 匹配数组strpos()中的字符串:空指针

Php 匹配数组strpos()中的字符串:空指针,php,arrays,session,strpos,Php,Arrays,Session,Strpos,我有一个来自数据库的字符串,我想与数组匹配,但结果显示错误: strpos():X行中的空针 该数组如下所示: Array ( [0] => 218 [1] => 219 [2] => 218 [3] => 220 [4] => 222 [5] => 42 [6] => 223 ) 只需在数组中搜索$imp,无需循环: $imp = 42; $arrys = $_SESSION['arry'

我有一个来自数据库的字符串,我想与数组匹配,但结果显示错误:

strpos():X行中的空针

该数组如下所示:

Array
(
    [0] => 218
    [1] => 219
    [2] =>  218
    [3] => 220
    [4] => 222
    [5] =>  42
    [6] => 223
)

只需在数组中搜索
$imp
,无需循环:

$imp = 42;
$arrys =  $_SESSION['arry'];

if(in_array($imp, $arrys)) {
    $pow = 1;
}
不清楚数组元素中是否有空格,因此您可能需要
trim()
它们:

in_array($imp, array_map('trim', $arrys))

另外,使用
strpos()
会得到误报。如果
$imp=42
它将匹配
422
142
999942777
,等等。

您的做法相反,在42中搜索字符串,而不是搜索

strpos($string, $imp)
试试这个:(更新)


交换您的参数,即
strpos($string,$imp)
@RobbieAverill现在它没有搜索值,那么如何避免它呢?您可以为作业使用合适的工具(\u array
中的
)。或者像您这样循环并使用
if($imp==string)
if($imp==trim($string))
if(in_数组正在为它显示的另一个上的第一个$imp值工作,但该值在中不存在。)session@SagarSingh它会在所有数组对象中循环查找是否有与分配给$imp的值匹配的值。当$imp的值为42时,它说在会话中找不到值,这是完全正确的,但当值为300表示找到了值&当我回显该值时,会话中没有300值array@SagarSingh是的,因为它是通过字母匹配的,所以有30、300、3000,所有这些都会匹配,所以最好使用foreach。@SagarSingh很高兴听到我帮助了你,更新了一点。还是同样的问题,我第一次通过ajax发送$imp值这是第二次了
strpos($string, $imp)
<?php

    $_SESSION['arry'] = array(236,235,239,243,246);

$imp =  239;
$arrys =  $_SESSION['arry'];
$arrys = array_unique($arrys);
$pow = "";
print "<pre>";
print_r($arrys);
print "</pre>";
foreach($arrys as $string)
{
if($string == $imp)  {
    $pow = 1; echo "we have".$imp."in array<br/>";
}
else{
    $pow = 0; echo "sorry".$imp."wasn't found in array<br/>";
}
}
?>