Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带多维数组的php foreach是否需要使用密钥?_Php_Multidimensional Array_Foreach - Fatal编程技术网

带多维数组的php foreach是否需要使用密钥?

带多维数组的php foreach是否需要使用密钥?,php,multidimensional-array,foreach,Php,Multidimensional Array,Foreach,我有一个多维数组,名为$responses,在打印时是这样的 我的foreach循环看起来像这样,但它不工作: foreach ($responses as $response) { $output[$response['poll_response_id']] = array( 'response' => $response['response'], 'response_vote_count' => 0, 'voters'

我有一个多维数组,名为$responses,在打印时是这样的

我的foreach循环看起来像这样,但它不工作:

foreach ($responses as $response) { 
    $output[$response['poll_response_id']] = array(
        'response' => $response['response'],
        'response_vote_count' => 0,
        'voters' => ''
    );
}
我希望在打印时得到这样的输出($output)

您可以尝试以下方法:

$output = array(); 
foreach ($responses as $key => $response) { 
     $output[$key] = array(
        'response' => $response[$key],
        'response_vote_count' => 0,
        'voters' => ''
     ); 
}
如果不起作用,请在“$responses”上执行“var\u dump”,而不是“print\r”,因为我们没有查看此变量的确切定义方式。

您可以尝试以下操作:

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

如果它不起作用,请在“$responses”上执行“var_dump”而不是“print_r”,因为我们没有查看该变量的确切定义。

对我来说似乎是一个简单的转换:

$out = array_map(function($response) {
  return array(
    'response' => current($response),
    'response_vote_count' => 0,
    'voters' => '',
  );
}, $responses);

对我来说,这似乎是一个简单的转变:

$out = array_map(function($response) {
  return array(
    'response' => current($response),
    'response_vote_count' => 0,
    'voters' => '',
  );
}, $responses);

嗨,安托克斯,你的代码工作得很好。非常感谢你花时间帮我做这件事。我花了很多时间试图自己解决这个问题,在这个过程中我学到了很多。嗨,antoox,你的代码工作得很好。非常感谢你花时间帮我做这件事。我花了很多时间试图自己解决这个问题,在这个过程中我学到了很多。