php 二维数组转一维数组
<?php
/*
* Created on 2012-3-19
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
$multimap = array(
1 => array(
'qg_id' => 1,
'qg_name' => '首页头部推荐',
),
2 => array(
'qg_id' => 2,
'qg_name' => '首页底部推荐',
),
);
$flatmap = array_map("array_pop",$multimap);
print_r($flatmap);
?>
还有:
如何将下面的二维数组转为一维数组。
$msg = array(
array(
'id'=>'45',
'name'=>'jack'
),
array(
'id'=>'34',
'name'=>'mary'
),
array(
'id'=>'78',
'name'=>'lili'
),
);
array(
'id'=>'45',
'name'=>'jack'
),
array(
'id'=>'34',
'name'=>'mary'
),
array(
'id'=>'78',
'name'=>'lili'
),
);
第一种方法:
foreach($msg as $k => $v){
$ids[] = $id;
$names[] = $name;
}
$ids[] = $id;
$names[] = $name;
}
第二种方法:
$ids = array_column($msg, 'id');
$names = array_column($msg, 'name');
以上两种解法print_r($names);后的结果为:
Array(
[0]=>jack
[1]=>mary
[2]=>lili
)
[0]=>jack
[1]=>mary
[2]=>lili
)
注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id');
print_r($n);的结果为:
Array(
[45]=>jack
[34]=>mary
[78]=>lili
)
[45]=>jack
[34]=>mary
[78]=>lili
)