Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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中从数组中查找元素_Php_Arrays_Search - Fatal编程技术网

在php中从数组中查找元素

在php中从数组中查找元素,php,arrays,search,Php,Arrays,Search,我从css文件中获取了以下类名数组 打印值后测试数组: 大堆 ( [0]=>#萨乌导航 [1] =>sau nav ul li.账户 [2] =>.忠诚箱 ) if(数组搜索(“#sa#u nav”,$test)) { 回声“元素存在”; } 其他的 { 回显“元素不存在”; } 虽然数组中存在元素,但它打印“元素不存在”。plz帮助在_数组中使用功能 $test = array("#sa_nav", "#sa_nav ul li.account", ".loyaltyBox"); if

我从css文件中获取了以下类名数组

打印值后测试数组:
大堆
(
[0]=>#萨乌导航
[1] =>sau nav ul li.账户
[2] =>.忠诚箱
)
if(数组搜索(“#sa#u nav”,$test))
{
回声“元素存在”;
}
其他的
{
回显“元素不存在”;
}

虽然数组中存在元素,但它打印“元素不存在”。plz帮助

在_数组中使用
功能

$test = array("#sa_nav", "#sa_nav ul li.account", ".loyaltyBox");

if (in_array("#sa_nav", $test)) {
  echo 'Element is exist';
} else {
  echo 'Element is not exist';
}
//输出

Element is exist

array\u search所做的是在数组中搜索给定的值,如果成功,则返回相应的键

这意味着它不会返回true或false,所以请使用
in_array()
php函数

在数组中
-检查数组中是否存在值

$test = array("#sa_nav","#sa_nav ul li.account",".loyaltyBox");

if(in_array("#sa_nav",$test))
{
  echo 'Element is exist';
}
else
{
  echo 'Element is not exist';
}
用于搜索和返回真正的FASLE

function search_array($arrays, $cssSelector)
{
   foreach($arrays as $key => $array)
   {
      if ( $array === $cssSelector )
         return true;
   }
   return false;
}
并称之为
search_数组($array,#sau nav')

检查此代码

$test = array("#sa_nav","#sa_nav ul li.account",".loyaltyBox");

 if(in_array("#sa_nav",$test))
 {
  echo 'Element is exist';
 }
 else
 {
  echo 'Element is not exist';
 }

手册始终是第一个要查看的地方:

如果在数组中找到针,则返回针的键,否则返回FALSE

警告

此函数可能返回布尔值FALSE,但也可能返回计算结果为FALSE的非布尔值。有关更多信息,请阅读布尔值部分。使用===运算符测试此函数的返回值。

搜索一个值并返回相应的 如果匹配,则输入

现在就你而言-

#sa_导航键值为
0

因此,在
IF
循环中,它的计算结果如下-

array_search("#sa_nav",$test) return value is `0` [Zero].
因此表达式的计算结果为-

if(0)
所以它输出-

Element is not exist
否如果您尝试使用此代码块,它的计算结果将为
true

$test = array("#sa_nav","#sa_nav ul li.account",".loyaltyBox");

 if(array_search(".loyaltyBox",$test))
 {
  echo 'Element is exist';
 }
 else
 {
  echo 'Element is not exist';
 }

要使您的代码段正常工作,您可以尝试使用大多数其他答案中建议的
in_array()
方法。

您可以使用Php内置函数

或者你也可以使用


首先,当你提出这样一个问题时,考虑使用
var\u dump()
来显示数组的组成

第二,简单的改变一下你的状况就可以了:

if (false !== array_search("#sa_nav",$test)) {
}

如果
#sa_nav
是第一项,
array_search()
将返回
0
,其计算结果为
false
。考虑到您没有以任何特别有意义的方式使用
array_search()
的返回值,您也可以在_array()
中使用
,它总是返回布尔值。

如果数组初始化为$test=array(“#sa#u nav”、“#sa#nav ul li.account”、“.loyaltyBox”),则代码可以正常工作;但不适用于数组([0]=>#sa#u nav[1]=>#sa#u nav ul li.account[2]=>.loyaltyBox)请帮助。@MarkMartin您需要创建自定义函数,如我的答案所示。。我已经检查了两个数组搜索和在数组中,它显示的结果元素都不存在。@MarkMartin您可以为我提供snipaterray([0]=>#sa#nav)的代码吗[1] =>#sa#u nav ul li.account[2]=>.loyaltyBox)这是我打印数组时的数组结果&我想搜索#sa#u nav是否存在于我的数组结果中…@MarkMartin请在这里签出@MarkMartin你检查过了吗,工作吗?