php数组获取特定值的位置

php数组获取特定值的位置,php,arrays,position,Php,Arrays,Position,我有一个数组,我想得到一个特定值的位置 例如: $my_array = array(0,2,5,3,7,4,5,2,1,6,9); 我的搜索是5号数组中5号的位置是(2和6) 如果调用array\u search函数,总是返回数组中的第一个位置,即2 是否还要获得两个或更多具有特定值的位置?只需在数组上循环: /* Searches $haystack for $needle. Returns an array of keys for $needle if found, other

我有一个数组,我想得到一个特定值的位置

例如:

$my_array = array(0,2,5,3,7,4,5,2,1,6,9);
我的搜索是5号数组中5号的位置是(2和6)

如果调用
array\u search
函数,总是返回数组中的第一个位置,即2


是否还要获得两个或更多具有特定值的位置?

只需在数组上循环:

/* Searches $haystack for $needle.
   Returns an array of keys for $needle if found,
   otherwise an empty array */
function array_multi_search($needle, $haystack) {
  $result = array();
  foreach ($haystack as $key => $value)
    if ($value === $needle)
      $result[] = $key;
  return $result;
}
与可选搜索参数一起使用,该参数应返回所有键

$matches=array\u键($my\u array,5)

查看第二个参数。您只能获得与
$search\u value

$result=array()匹配的密钥;
  $result = array();
  foreach ($array as $key => $value)
   {
      $result[$value] =implode(',',array_keys($array,$value))

  }
  echo '<pre>';
print_r($result);
foreach($key=>$value的数组) { $result[$value]=内爆(“,”,数组_键($array,$value)) } 回声'; 打印(结果);

它将为您提供一个数组,其中值作为键,它们的出现作为逗号分隔的值

是的,谢谢,使用数组键会更好。谢谢christian.thomas如果更改数组键会怎么样。