如何查找其元素与其他数组元素匹配的数组键

时间:2016-09-16 11:59:05

标签: php arrays

我有一个像这样的数组$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 ?

1 个答案:

答案 0 :(得分:1)

您可以使用array_search功能搜索数组中的值。

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

所以你的代码将是这样的:

foreach($namesOfCustomFieldsUserWatsToUpdate as $nesto){
    $key = array_search($nesto, $shraniKastomFildove);
    var_dump($key);
 }