php数组获取特定值的位置

时间:2012-08-28 12:21:46

标签: php arrays position

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

示例:

$my_array = array(0,2,5,3,7,4,5,2,1,6,9);

我的搜索 Number 5 数组中 Number 5 的位置是( 2 6 )< / p>

如果我调用array_search函数,则总是返回数组中的第一个位置 2

无论如何,还有两个具有特定价值的矿位?

4 个答案:

答案 0 :(得分:11)

array_keys与可选的搜索参数一起使用,该参数应返回所有键。

$matches = array_keys($my_array, 5);

答案 1 :(得分:2)

查看array_keys第二个参数。您只能获得与$search_value

匹配的密钥

答案 2 :(得分:1)

只需遍历数组:

/* 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;
}

答案 3 :(得分:1)

  $result = array();
  foreach ($array as $key => $value)
   {
      $result[$value] =implode(',',array_keys($array,$value))

  }
  echo '<pre>';
print_r($result);

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