0

私はループを実行しています:

$array = $_POST['d'];

foreach($array as $a){
    print_r($a);
}

$ arrayには配列が含まれており(配列の数は異なります)、結果としてこれを取得します。ループ内でこれらの値を個別に呼び出す方法を知りたいだけです。例:$things=ループ内のmethvの値

Array ( 
   [1173627548] => Array ( 
     [num] => 1173627548 
     [methv] => dont know 
     [q1] => - 
     [q2] => - 
     [q3] => U 
     [q4] => - 
     [comm] => 
    ) 
) 

よくわからない場合は申し訳ありません

print_r($ array)はこれを表示します:

Array ( [0] => Array ( [1173627548] => Array ( [num] => 1173627548 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] => ) ) [1] => Array ( [1182868902] => Array ( [num] => 1182868902 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] => ) ) ) Array ( [0] => Array ( [1173627548] => Array ( [num] => 1173627548 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] => ) ) [1] => Array ( [1182868902] => Array ( [num] => 1182868902 [methv] => dont know [q1] => - [q2] => - [q3] => U [q4] => - [comm] => ) ) ) 

注:このアレイには2つのアレイがあります

4

2 に答える 2

0

デバッグについては、次のように、大雑把ですが読みやすいデバッグをお勧めします。

function trace($a) { print "<pre>".var_export($a, 1)."</pre>"; }
// then you can do:
trace($array);

あなたの質問に関しては、次のようにmethvキーにアクセスできます:($array[0][1173627548]['methv']または$array[1173627548]['methv']上記のトレースが完全な$ array変数である場合)。

于 2013-03-17T23:03:10.577 に答える
0

配列をループしたいと思います$a。各要素は配列でもあります。

$ arrayをループすると、あなたが言った情報を持つアイテムが1つあります。

Array ( 
   [1173627548] => Array ( 
     [num] => 1173627548 
     [methv] => dont know 
     [q1] => - 
     [q2] => - 
     [q3] => U 
     [q4] => - 
     [comm] => 
    ) 
) 

要素にアクセスする場合methvは、次のようにする必要があります。

foreach($array as $a){
    echo $a["methv"]; // this would access $array[ 1173627548 ][ "methv" ]
}

foreachが続く間、すべての値にアクセスし続けます$array[ ][ "methv" ]。それが役立つことを願っています。


を示すあなたのコメントに基づいていますprint_r($array)

まず、配列の概要を把握できるようにインデントします。

    Array ( 
    [0] => Array ( 
    [1173627548] => Array ( 
        [num] => 1173627548 
        [methv] => dont know 
        [q1] => - 
        [q2] => - 
        [q3] => U 
        [q4] => - 
        [comm] => 
        )
      )
    [1] => Array ( 
     [1182868902] => Array ( 
        [num] => 1182868902 
        [methv] => dont know 
        [q1] => - 
        [q2] => - 
        [q3] => U 
        [q4] => - 
        [comm] => )
        )
)
 Array (
    [0] => Array (
    [1173627548] => Array ( 
        [num] => 1173627548 
        [methv] => dont know 
        [q1] => - 
        [q2] => - 
        [q3] => U 
        [q4] => - [comm] => 
        )
     )
    [1] => Array (
     [1182868902] => Array (
        [num] => 1182868902 
        [methv] => dont know 
        [q1] => - 
        [q2] => - 
        [q3] => U 
        [q4] => -
        [comm] => 
        )
    )
) 

2つの正確な配列が次々に表示されるため、2回印刷していると思います。

[methv]アイテムを入手したい場合、必要なのは以下にアクセスすることです。

$array[ 0 ][ 1173627548 ][ "methv" ]
$array[ 1 ][ 1182868902 ][ "methv" ]

したがって、できることはforeach2回使用することです。

foreach ($array as $a) {
    foreach ($a as $v) {
        echo $v[ "methv" ];
    }
}
于 2013-03-17T23:53:55.423 に答える