文字列と数値インデックスを使用して要素にアクセスできる配列を定義できますか?アソシエイティブインデックスと番号付きインデックスを使用した配列要素へのアクセス
1
A
答えて
3
3
PHPでは、文字列要素と数値索引要素を混在させることができます。最後の項目$array[1]
で
$array = array(0=>'hello','abc'=>'world');
echo $array[0]; // returns 'hello'
echo $array['0']; // returns 'hello'
echo $array['abc']; // returns 'world';
echo $array[1]; // triggers a PHP notice: undefined offset
よく見ると、それは、配列の2番目の要素と等価ではないことが明らかになりました。
7
array_values()
は、インデックスの数値が1に置き換えられた配列のすべての値を返します。
$x = array(
'a' => 'x',
'b' => 'y'
);
$x2 = array_values($x);
echo $x['a']; // 'x'
echo $x2[0]; // 'x'
代替案は、被参照インデックスのセットを構築することです。
function buildReferences(& $array) {
$references = array();
foreach ($array as $key => $value) {
$references[] =& $array[$key];
}
$array = array_merge($references, $array);
}
$array = array(
'x' => 'y',
'z' => 'a'
);
buildReferences($array);
あなたはインデックスを追加または削除を計画していない場合にのみ行われるべきであることに注意してください。あなたはそれらを編集することができます。
3
martswiteの答えは正しいですが、すでに連想配列がある場合は、問題を解決できないことがあります。以下は、この問題を回避するために醜いハックである - そして、すべてのコストで回避する必要があります。
$a = array(
'first' => 1,
'second' => 2,
'third' => 3
);
$b=array_values($a);
print $b[2];
関連する問題
- 1. 配列要素番号
- 2. インデックス番号を使用して要素を注文する
- 3. 用語:配列のX番目の要素とインデックスXの要素
- 4. 変換配列要素に番号と空の配列
- 5. PDOで取得した配列の番号付きインデックスを定義する
- 6. Postgresを使用したjson配列内のオブジェクト要素のインデックス付け
- 7. 上下の配列要素へのアクセス中配列要素への参照
- 8. 冗長要素を持つPython配列を使用したPython配列のインデックス
- 9. へのアクセスMulit次元非インデックス付きの配列
- 10. ダイナミックarraynameの配列要素へのアクセス
- 11. JSON配列の要素へのアクセス
- 12. 無限の配列要素へのアクセス?
- 13. 名前の番号を持つJSON要素へのアクセス
- 14. 配列インデックスへのアクセス0、
- 15. Python:配列要素へのアクセス
- 16. 構造体配列要素へのアクセス
- 17. ブール配列を使用した多次元配列へのインデックス付けnumpyを使用した
- 18. インデックス付きハッシュへのRuby配列?
- 19. 要素名の一部として番号が付けられたJSON要素
- 20. インデックスを使用した最小および最大番号配列?
- 21. C++ダイナミック配列へのファイルの読み込みと配列要素へのアクセス
- 22. o(1)の配列のn番目のインデックスへのアクセス
- 23. 列インデックス番号
- 24. vue.js条件付きCSSクラス内の配列要素へのアクセス方法
- 25. UIImageへの符号付きバイト配列
- 26. バイナリへの配列として書かれた番号
- 27. インデックスで行番号にアクセス
- 28. 番号付き配列を持たないPHPサブパターン
- 29. 配列内の要素番号を取得する
- 30. Cの2D配列とポインタ - 要素へのアクセス方法?
私は、これはあなたが言っているものだと思います。 array( 'a' => 'x'、 'b' => 'y'、 'c' => 'z') 'のような配列を作成し、' $ array [ 1] '(2番目のインデックスなので)。そうですか? – Jonah