制作本:
Array
(
[Title] => 'Hello!'
[Layout] => 'Shared/_Master'
[Section] => Array (
[0] => Header
[1] => Body
)
)
我错过了逻辑。
我的阵列是:
$keys = ['Title', 'Layout', 'Section', 'Section'];
$values = ['Hello!', 'Shared/_Master', 'Header', 'Body'];
提前致谢。
答案 0 :(得分:1)
这取自array_combine手册页中的评论,似乎可以完成您需要的工作(虽然我认为函数名称的选择有点奇怪!):
<?php
$keys = array('Title', 'Layout', 'Section', 'Section');
$values = array('Hello!', 'Shared/_Master', 'Header', 'Body');
function array_combine_($keys, $values)
{
$result = array();
foreach ($keys as $i => $k) {
$result[$k][] = $values[$i];
}
array_walk($result, create_function('&$v', '$v = (count($v) == 1)? array_pop($v): $v;'));
return $result;
}
echo '<pre>';
print_r(array_combine_($keys, $values));
echo '</pre>';
?>
可生产
Array
(
[Title] => Hello!
[Layout] => Shared/_Master
[Section] => Array
(
[0] => Header
[1] => Body
)
)