1

$responses という次の多次元配列があり、print_r を実行すると次のようになります。

配列

私の foreach ループは次のようになりますが、機能していません。

foreach ($responses as $response) { 
    $output[$response['poll_response_id']] = array(
        'response' => $response['response'],
        'response_vote_count' => 0,
        'voters' => ''
    );
}

print_r($output) を実行すると、このような出力が得られます

出力配列

4

2 に答える 2

3

私には単純な変換のように思えます:

$out = array_map(function($response) {
  return array(
    'response' => current($response),
    'response_vote_count' => 0,
    'voters' => '',
  );
}, $responses);
于 2013-05-06T14:22:56.453 に答える
2

これを試すことができます:

$output = array(); 
foreach ($responses as $key => $response) { 
     $output[$key] = array(
        'response' => $response[$key],
        'response_vote_count' => 0,
        'voters' => ''
     ); 
}

うまくいかない場合は、「print_r」の代わりに「$responses」で「var_dump」を実行してください。この変数が正確にどのように定義されているかを確認していないからです。

于 2013-05-06T14:14:16.127 に答える