2017-07-20 15 views
0

私はPerlからですが、私はPHPで初心者です。私はので、私はPHPで配列の関連配列にアクセスするには?

foreach ($keys as $rating_data) 
    { 
     foreach ($index as $rating_data[$keys]) 
     { 
      echo "$index"; 

     } 
    } 

次試みたが、上記のいずれかが動作していないループを使用して各データにアクセスしようとしている次の配列

$rating_data = Array ("51" => Array (5,3,4,2)); 

を抱えています。私も下の1つを試してみました。

$all_keys = array_keys($rating_data); 
    foreach ($keys as $all_keys) 
    { 
     foreach ($values as $all_keys) 
     { 
      echo "$values"; 
     } 
    } 

私は出力を得ていませんでした。次のようなキーをハードコードすると機能します。

$rating_data["51"][0]; 

この問題を解決するには?

+1

foreachパラメータが異なると思われます。 [foreach(array_expression as $ key => $ value)](http://php.net/manual/en/control-structures.foreach.php) – Jeff

+0

foreachを間違って使用しました。構文は 'foreach($ array as $ key) 'のように、あなたがループを張る配列をfristの位置に置く必要があります。 –

答えて

1

それは以下のように単純でなければなりません:

foreach($rating_data as $key => $values) { 
    echo $key; 
    foreach($values as $value) { 
     echo $value; 
    } 
} 

あなたはあなたのパラメータあなたforeach文で周りの間違った方法を持っているようです。私はforeach docsを通して簡単に読むことをお勧めします。

+0

ありがとうございます。しかし、$キーを表示している間、 'Array to string conversion ... 'のように表示されますか? – mkHun

+0

'$ keys'は配列なので、' echo'を使って印刷することはできません。代わりに 'var_dump($ keys)'か 'print_r($ keys)'を試してください –

+0

私はキーとその値を別々の手段としてキーにしようとしています。私はJavaScriptを使用しています。 PHPではできませんか? – mkHun

2

鍵の位置と反復の値(sencodレベル)を取得できます。

foreach($rating_data as $key => $values) 
{ 
    echo $key; // Output "51" 
    foreach($values as $value) 
    { 
     echo $value; // Output: iter1: "5", iter2: "3", iter3: "4", iter1: "2", 
    } 
} 
関連する問題