如何在 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 是检查数组中的 BlackSuccess[ 的结果=24=] 用于检查 S.