⑴ php二维数组转一维数组
PHP二维数组转为一维数组的方法实例,分别使用foreach、for、while三种循环方法,还可以使用PHP自带的array_column()函数;
具体示例:
二维数组
$msg=array(
array(
'id'=>'45',
'name'=>'jack'
),
array(
'id'=>'34',
'name'=>'mary'
),
array(
'id'=>'78',
'name'=>'lili'
),
);
第一种方法:
foreach($msgas$k=>$v){
$ids[]=$id;
$names[]=$name;
}
第二种方法:
<?php
$ids=array_column($msg,'id');
$names=array_column($msg,'name');
?>
注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id');
⑵ php一个二维数组怎样转为多个一个的数组
PHP 中的 array_merge_recursive() 函数可以实现
将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。
当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。
array_merge_recursive(array1,array2,array3...)
参数说明
array1 必需。输入的第一个数组。
array2 必需。输入的第二个数组。
array3 可选。可指定的多个输入数组。
例如:
<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));
?>
输出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)
注:array_merge() 函数也可以实现,与 array_merge_recursive()函数不同是,如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。