如何在 PHP 数组中查找值
How to find value in PHP array
我在数组中有一些属性。例如衣服的尺寸。我想检查我是否有属性。如果不是,我想在文件中显示错误。问题是。为什么即使我比较相同的字符串也会出错?
请检查下面我的代码。
foreach ($attributeToCheck as $singleAttributeToCheck)
{
if(!array_search(strtolower($singleAttributeToCheck), array_map('strtolower', array_column($attributes, 'name')))){
$this->errorLog('* ERROR * There is no:' . $singleAttributeToCheck);
return FALSE;
}
}
In $attributeToCheck I have those value:
0: "Black"
1: "S"
In strtolower($singleAttributeToCheck) I have value:
"s"
array_map('strtolower', array_column($attributes, 'name')) looks like this:
0: "s"
1: "m"
2: "l"
为什么我去错误日志?我的数组中有字符串 "s" 。感谢您的帮助。
亲切的问候
array_search()
函数找到值和 return 它的键,这不是这里需要的,相反你必须使用 in_array()
函数,它将 return 值到函数
<?php
function a($v){
return(strtolower($v));
}
$attributeToCheck = array("Black","S");
$attributes = array('s','m','l');
$array = array_map('a',$attributeToCheck);
foreach ($array as $value) {
if(!in_array($value,$attributes)){
echo "Not Found<br>";
}
else{
echo "Success";
}
}
?>
在上面提到的输出中,Not Found 是检查数组中的 Black 和 Success[ 的结果=24=] 用于检查 S.
我在数组中有一些属性。例如衣服的尺寸。我想检查我是否有属性。如果不是,我想在文件中显示错误。问题是。为什么即使我比较相同的字符串也会出错?
请检查下面我的代码。
foreach ($attributeToCheck as $singleAttributeToCheck)
{
if(!array_search(strtolower($singleAttributeToCheck), array_map('strtolower', array_column($attributes, 'name')))){
$this->errorLog('* ERROR * There is no:' . $singleAttributeToCheck);
return FALSE;
}
}
In $attributeToCheck I have those value:
0: "Black"
1: "S"
In strtolower($singleAttributeToCheck) I have value:
"s"
array_map('strtolower', array_column($attributes, 'name')) looks like this:
0: "s"
1: "m"
2: "l"
为什么我去错误日志?我的数组中有字符串 "s" 。感谢您的帮助。
亲切的问候
array_search()
函数找到值和 return 它的键,这不是这里需要的,相反你必须使用 in_array()
函数,它将 return 值到函数
<?php
function a($v){
return(strtolower($v));
}
$attributeToCheck = array("Black","S");
$attributes = array('s','m','l');
$array = array_map('a',$attributeToCheck);
foreach ($array as $value) {
if(!in_array($value,$attributes)){
echo "Not Found<br>";
}
else{
echo "Success";
}
}
?>
在上面提到的输出中,Not Found 是检查数组中的 Black 和 Success[ 的结果=24=] 用于检查 S.