2012-01-12 12 views
1

配列から値を取得しようとしていますが、$array[0]を使用すると、PHPの通知「Undefined Offset:0」が表示されます。しかし、$array['id']( '0'を使用するのと同じにする必要があります.'id 'は配列の最初のキーなので)、値を取得できます。私はprint_rを実行し、これが出力されました:Notice:未定義オフセット:0

Array ( 
    [id] => 1 
    [username] => test 
) 

インデックスを使用してキーを取得できませんか?私はそれが以前より働いていたと信じていますが、私はそれが働くのを止めるために何ができるのか分かりません。何か案は?

答えて

1

いいえ、これを行うことはできません。

あなたは、デフォルトでは、あなたが列を取得するには、両方の数値や文字列のインデックスを使用することができます、 mysql_fetch_arrayのようなものから得られた配列を考えるかもしれない

- しかし、配列が両方が含まれているので、あなたがそれを行うことができた理由がありますそれらの

array_valuesを使用して配列から値を抽出し、インデックスを数値型に変換することもできますが、実際は同じではありません。

+0

ありがとう、それは私が考えていたものです – Preston

2

$array['id']は、であり、は、$array[0]と同じである。この混乱はおそらくという配列という用語のために関係しています。 PHPの配列は、別の言語の配列とは異なり、のマップまたはの辞書です。

(ああ、そうでない場合でも、php配列、マップ、または辞書の要素の順序は実装次第です。したがって、idは$tmp = array_values($array); echo $tmp[0];で取得されますが、phpはアレイをシャッフルしてください)。

関連する問題