将一个平坦的关联阵列转化为带有预定键

问题描述 投票:0回答:4

我想将此数组转换为ID作为键和名称值对

Array(
    [4882] => treatment
    [4876] => Advance
    [4854] => Applied Clinical
)

to

Array(
    [0] => Array([id] => 4882, [name] => treatment)
    [1] => Array([id] => 4876, [name] => Advance)
    [2] => Array([id] => 4854, [name] => Applied Clinical)
)
php arrays multidimensional-array associative-array
4个回答
3
投票
foreach ($original_array as $key=>$value){
    $new_arrays[] = array('id'=>$key,'name'=>$value);
}

print_r($new_arrays);

2
投票
您可以这样做:

$output_arr = array(); foreach($input_arr as $key => $value) $output_arr[] = array('id' => $key, 'name' => $value);
然后您可以将$ output_arr用作转换阵列或将其内容分配给$ input_arr:

$input_arr = &$output_arr;
    

2
投票

$input

是您的第一个数组,
$output
将保持所得数组

$output = array(); foreach ($input as $id => $name) { $output[] = array('id'=>$id, 'name'=>$name); }
    

-1
投票
这里是一些努力制定简洁法规的工作解决方案。 与参数衍生的关联键

demo

的功能编程 var_export( array_map( fn(int $id, string $name) => get_defined_vars(), array_keys($array), $array ) );

年级环路与foreach循环变量名称出生的关联键
demo

$result = []; foreach ($array as $id => $name) { $result[] = compact(['id', 'name']); } var_export($result);


最新问题
© www.soinside.com 2019 - 2025. All rights reserved.