web-dev-qa-db-ja.com

PHP-配列から要素のインデックスを取得する

配列を走査しているときに現在の要素番号を取得するにはどうすればよいですか?

私はcount()について知っていますが、余分なカウンター変数を追加することなく、現在のフィールドインデックスを取得するための組み込み関数があることを望んでいました。

このような:

foreach($array as $key => value)
  if(index($key) == count($array) ....
24
Alex

key() 関数を使用する必要があります。

key($array)

現在のキーを返します。

現在のキーの位置が必要な場合:

array_search($key, array_keys($array));
49
Zahymaka

PHP配列は、整数インデックスと文字列インデックスの両方があります。それらを混ぜることもできます:

array('red', 'green', 'white', 'color3'=>'blue', 3=>'yellow');

'blue'にインデックスを何にしたいですか? 3ですか?しかし、それは実際には値'yellow'のインデックスなので、あいまいになります。

別の解決策は、配列を整数インデックス付きの値のリストに強制することです。

foreach (array_values($array) as $i => $value) {
  echo "$i: $value\n";
}

出力:

0: red
1: green
2: white
3: blue
4: yellow
12
Bill Karwin
foreach() {
    $i++;
    if(index($key) == $i){}
    //
}
4
Galen
function Index($index) {
    $Count = count($YOUR_ARRAY);
    if ($index <= $Count) {
        $Keys = array_keys($YOUR_ARRAY);
        $Value = array_values($YOUR_ARRAY);
        return $Keys[$index] . ' = ' . $Value[$index];
    } else {
        return "Out of the ring";
    }
}

echo 'Index : ' . Index(0);

($ YOUR_ARRAY)を置き換えます

0