首页 > 解决方案 > PHP:将“水平”列出的数组转换为具有其他结构的数组

问题描述

我得到以下数组:

Array
(
    [ids] => 21858, 21859
    [names] => John Doe, Mike Clark
)

我想将其转换为:

Array
(
    [21858] => John Doe
    [21859] => Mike Clark
)

我试过这个,没有运气

foreach($arr_orig as $key => $value) {
   $arr_new[$key['ids']] = explode(',', $key['names']);
}

我无法解决这个问题。谢谢你的帮助。

标签: phparrayslist

解决方案


$ids = explode(",",$array['ids']);
$names= explode(",",$array['names']);

使用 展开两者,,创建另一个数组来存储结果。刚刚添加了对名称数组的检查。

$newArray=[];
for($i=0;$i<count($ids);$i++){
  $name = key_exists($i,$names)?$names[$i]:"";
  $newArray[$ids[$i]]=  $name;
}

print_r($newArray);

推荐阅读