如何从另一个php数组创建php哈希数组?
我想得到这样的数组=>如何从另一个php数组创建php哈希数组?,php,arrays,hash,Php,Arrays,Hash,我想得到这样的数组=> Array ( [0] => Array ( [Poll] => Array ( [id] => 1 [question] => What's your favourite linux distribution ? [mark] => 1
Array
(
[0] => Array
(
[Poll] => Array
(
[id] => 1
[question] => What's your favourite linux distribution ?
[mark] => 1
[created] => 2011-09-05 20:30:57
[modified] => 2011-09-05 20:30:57
)
)
[1] => Array
(
[Poll] => Array
(
[id] => 2
[question] => What's your favourite editor ?
[mark] => 1
[created] => 2011-09-05 20:31:59
[modified] => 2011-09-05 20:31:59
)
)
)
有没有php函数可以实现这一点或任何快捷方式?
我知道foreach循环。php数组中的每个键都必须是唯一的。因此,您不能有
array(“Poll”=>array(),“Poll”=>array())代码>。但是,您可以使用以下命令
[Poll] => Array
(
[id] => 1
[question] => What's your favourite linux distribution ?
[mark] => 1
[created] => 2011-09-05 20:30:57
[modified] => 2011-09-05 20:30:57
)
[Poll] => Array
(
[id] => 2
[question] => What's your favourite editor ?
[mark] => 1
[created] => 2011-09-05 20:31:59
[modified] => 2011-09-05 20:31:59
)
这将使$r
成为如下数组:
$r = array_map(function($subArray) {
return $subArray['Poll'];
}, $inputArray);
array(
array(
"id" => 1,
"question" => "What's your favourite linux distribution ?",
"mark" => 1,
"created" => "2011-09-05 20:30:57",
"modified" => "2011-09-05 20:30:57",
),
array(
"id" => 2,
"question" => "What's your favourite editor ?",
"mark" => 1,
"created" => "2011-09-05 20:31:59",
"modified" => "2011-09-05 20:31:59"
)
);
您可以这样使用它:
$r = array_map(function($subArray) {
return $subArray['Poll'];
}, $inputArray);
array(
array(
"id" => 1,
"question" => "What's your favourite linux distribution ?",
"mark" => 1,
"created" => "2011-09-05 20:30:57",
"modified" => "2011-09-05 20:30:57",
),
array(
"id" => 2,
"question" => "What's your favourite editor ?",
"mark" => 1,
"created" => "2011-09-05 20:31:59",
"modified" => "2011-09-05 20:31:59"
)
);
顺便说一下,您不应该以文本格式存储时间,特别是不应该以没有时区规范的格式存储时间。相反,使用and返回的UNIX时间戳或对象。(参考)现在我如何访问/获取'question'的值?