PHP使用新数组和现有数组分配数组键

PHP使用新数组和现有数组分配数组键,php,arrays,key,Php,Arrays,Key,为了节省为每个数组键入键名的时间,我希望能够构建如下列表 $lists = array ( 0 => array ('A', 'B', 'C', 'D', 'E'); 1 => array ('A', 'B', 'C', 'D', 'E'); 2 => array ('A', 'B', 'C', 'D', 'E'); ) 。。然后将相同的密钥名称分配给所有这些密钥(之前或之后) 。。所以当他们被叫来的时候,我可以做一些像 foreach($lists as $list) {

为了节省为每个数组键入键名的时间,我希望能够构建如下列表

$lists = array (
0 => array ('A', 'B', 'C', 'D', 'E');
1 => array ('A', 'B', 'C', 'D', 'E');
2 => array ('A', 'B', 'C', 'D', 'E');
)
。。然后将相同的密钥名称分配给所有这些密钥(之前或之后)

。。所以当他们被叫来的时候,我可以做一些像

foreach($lists as $list) {
    showList($list);
} 
。。然后在showList()函数中,我可以按键名调用5个键


我设置的函数没有问题,但它指定的键名我不知道该怎么做。如果我的术语不准确,很抱歉,但希望我解释得足够好。

array\u combine
将由键数组和值数组组成关联数组

$keys = array('Key1', 'Key2', 'Key3', 'Key4', 'Key5');
foreach ($lists as $list) {
    showList(array_combine($keys, $list));
}
如果要永久修改
$lists
,可以执行以下操作:

foreach ($lists as &$list) {
    $list = array_combine($keys, $list);
}
参考变量
和$list
使其替换元素到位。

尝试以下操作:

<?php
$keys = array('Key1', 'Key2', 'Key3', 'Key4', 'Key5');
$lists = array (
                    array ('A', 'B', 'C', 'D', 'E'),
                    array ('A', 'B', 'C', 'D', 'E'),
                    array ('A', 'B', 'C', 'D', 'E')
                );

function showList($list){
    global $keys;
    return array_combine($keys, $list);
}

$output = array_map("showList", $lists);

echo "<pre>";
print_r($output);
?>

您正在寻找
数组\u combine
?您需要循环来组合子数组。@Barmar-我以前见过该代码,但当我将其放入时,我得到以下错误。。警告:array_combine()[function.array combine]:两个参数的元素数应该相等它们的元素数应该相同
$keys
有5个键,
数组('A','B','C','D','E')
有5个值。@Barmar-在$lists中它会上升到29。。这是我能想到的唯一一件不匹配的事情,但我认为它会在$list中的29个数组中看到5个键对应5个值。
<?php
$keys = array('Key1', 'Key2', 'Key3', 'Key4', 'Key5');
$lists = array (
                    array ('A', 'B', 'C', 'D', 'E'),
                    array ('A', 'B', 'C', 'D', 'E'),
                    array ('A', 'B', 'C', 'D', 'E')
                );

function showList($list){
    global $keys;
    return array_combine($keys, $list);
}

$output = array_map("showList", $lists);

echo "<pre>";
print_r($output);
?>
Array
(
    [0] => Array
        (
            [Key1] => A
            [Key2] => B
            [Key3] => C
            [Key4] => D
            [Key5] => E
        )

    [1] => Array
        (
            [Key1] => A
            [Key2] => B
            [Key3] => C
            [Key4] => D
            [Key5] => E
        )

    [2] => Array
        (
            [Key1] => A
            [Key2] => B
            [Key3] => C
            [Key4] => D
            [Key5] => E
        )

)