我有一个像这样的数组$shraniKastomFildove
:
array(4) { [0]=> string(12) "hashed_token" [1]=> string(17) "registration_time" [2]=> string(12) "noviCustmDev" [3]=> string(2) "no" }
像这样的数组$namesOfCustomFieldsUserWatsToUpdate
:
array(1) { [0]=> string(12) "noviCustmDev" }
我想找到$shraniKastomFildove
中匹配元素的索引。在这种情况下它将是2,因为在2元素的索引下存储了“noviCustmDev”值。
以下是我试图获得它的方法:
foreach($namesOfCustomFieldsUserWatsToUpdate as $nesto){
foreach($shraniKastomFildove as $dF){
if($dF==$nesto){
var_dump(key($shraniKastomFildove));
}
}
}
但是在这里转储3号。我想知道是否有更好更有效的方法来获得精确值,在这种情况下为2,或者是由于key()
计算索引为1而不是0 ?
答案 0 :(得分:1)
您可以使用array_search
功能搜索数组中的值。
如果在数组中找到了针,则此方法返回针的键,否则返回FALSE
。
所以你的代码将是这样的:
foreach($namesOfCustomFieldsUserWatsToUpdate as $nesto){
$key = array_search($nesto, $shraniKastomFildove);
var_dump($key);
}