在php中从数组中查找元素
我从css文件中获取了以下类名数组在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
打印值后测试数组:
大堆
(
[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你检查过了吗,工作吗?