2

配列が1つあり、特定の1つの値の位置を取得したい

例:

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

私の検索は5番です。配列内の5番の位置は(26 でし

関数を呼び出すとarray_search、常に配列witchの最初の位置が2になります。

とにかく特定の価値の2つの鉱石の位置を取得することはありますか?

4

4 に答える 4

11

すべてのキーを返す必要があるオプションの検索パラメーターとともにarray_keysを使用します。

$matches = array_keys($my_array, 5);

于 2012-08-28T12:25:25.837 に答える
2

array_keysの2番目のパラメーターを見てください。一致するキーのみを取得できます$search_value

于 2012-08-28T12:25:36.800 に答える
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;
}
于 2012-08-28T12:24:09.533 に答える
1
  $result = array();
  foreach ($array as $key => $value)
   {
      $result[$value] =implode(',',array_keys($array,$value))

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

キーとしての値とコンマで区切られた値としてのそれらの出現を含む配列が得られます

于 2012-08-28T12:34:23.300 に答える