繁体   English   中英

PHP 关联数组重新排序

[英]PHP Assocative array Reordering

我有 2 个 arrays ,我想将它们组合成一个数组,同时保持关联名称

这是一个例子

a$["ln"]=array(1,2);
b$["ids"]=array(11,22);

所以如果我做一个 print_r 我得到

[ln] => Array
    (
        [0] => 1
        [1] => 2
    )

[ids] => Array
    (
        [0] => 11
        [1] => 22
    )

现在我想要做的是将它们组合到下面。

[0] => Array
    (
        [ln] => 1
        [ids] => 11
    )

[1] => Array
    (
        [ls] => 2
        [ids] => 22
    )

我的当前代码是

$data = array(
    "ln"=>array(1,2),
    "ids"=>array(11,22)
)

for ($x = 0; $x < count($data["ln"]); $x++) {
    $vals[$x]["ln"]=$data["ln"][$x];
    $vals[$x]["ids"]=$data["ids"][$x];
}

有一个更好的方法吗?

您可以在 foreach 中进行 foreach:

<?php
$data = [
    'ln' => [1,2],
    'ids'=> [11,22]
];

foreach($data as $i => $j) {
    foreach($j as $k => $l) {
        $result[$k][$i] = $l;
    }
}

var_export($result);

Output:

array (
  0 => 
  array (
    'ln' => 1,
    'ids' => 11,
  ),
  1 => 
  array (
    'ln' => 2,
    'ids' => 22,
  ),
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM