猿问

检索数组中值的索引

是否可以在数组中搜索给定值并返回找到该值的所有索引?所以对于这个数组:

["Red","Green","Red","Blue"]

我需要

[0,2]

关于搜索“红色”。在这种情况下搜索“Yellow”将返回一个空数组。


互换的青春
浏览 119回答 3
3回答

慕侠2389804

你可以这样使用:$array = ["Red","Green","Red","Blue"];$output = array_keys($array, "Red");该$output会[0,2]

翻过高山走不出你

我认为这应该有效:$input = ["Red","Green","Red","Blue"];$x = "Red";$keys = array_keys(array_filter($input, function ($v) use ($x) { return $v === $x;}));

有只小跳蛙

您可以使用 foreach 迭代数组:foreach($input_arr as $key => $value){  if($value == 'Red'){    needed_key_arr[] = $key;  }}此外,如果您可以拥有一组值,则可以使用搜索内容:$lookup_arr = ['Red', 'Green'];foreach($input_arr as $key => $value){  if(in_array($value, $lookup_arr)){    needed_key_arr[] = $key;  }}
随时随地看视频慕课网APP
我要回答