欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP运用foreach神奇的转换数组(实例讲解)

程序员文章站 2022-03-01 17:42:08
...

要求:

将二维数组$arr转换为以‘time'和‘type'为下标、‘data‘为值的二维数组;

原数组:

$arr = array(
  0 => array(
   'data' => 100,
   'type' => 1,
   'time' => '2018-01-26',
  ),
  1 => array(
   'data' => 200,
   'type' => 2,
   'time' => '2018-01-26',
  ),
  2 => array(
   'data' => 300,
   'type' => 2,
   'time' => '2018-01-27',
  ),
  3 => array(
   'data' => 400,
   'type' => 3,
   'time' => '2018-01-27',
  ),
  4 => array(
   'data' => 500,
   'type' => 4,
   'time' => '2018-01-28',
  ),
 );

转换:

foreach ($arr as $key => $value) {
$change[$value['time']][$value['type']] = $value['data'];
}

结果:

array(3) {
["2018-01-26"] => array(2) {
[1] => int(100)
[2] => int(200)
}
["2018-01-27"] => array(2) {
[2] => int(300)
[3] => int(400)
}
["2018-01-28"] => array(1) {
[4] => int(500)
}
}