二维数组如何交换数据?
程序员文章站
2022-06-06 09:58:26
...
Array ( [0] => Array ( [sss] => 1 [abc] =>111dd ) [1] => Array ( [sss] => 2 [abc] => test ) [2] => Array ( [sss] => 3 [abc] => ) [3] => Array ( [sss] => 4 [abc] => ) [4] => Array ( [sss] => 5 [abc] =>dsafsf ) )
我想这个二维数组变成一维数组。
把里面的sss键名的值换成键名,把abc键名的值换成值。比如第一个,
Array ( [sss] => 1 [abc] => ) 变成1=>111dd
这样?
我想这个二维数组变成一维数组。
把里面的sss键名的值换成键名,把abc键名的值换成值。比如第一个,
Array ( [sss] => 1 [abc] => ) 变成1=>111dd
回复讨论(解决方案)
1,'abc'=>'111dd'), array('sss'=>2,'abc'=>'test'), array('sss'=>3,'abc'=>null), array('sss'=>4,'abc'=>null), array('sss'=>5,'abc'=>'dsafsf'));$ret = array();foreach($data as $item){ $ret[$item['sss']] = $item['abc'];}var_dump($ret);
这样?
array(5) { [1]=> string(5) "111dd" [2]=> string(4) "test" [3]=> NULL [4]=> NULL [5]=> string(6) "dsafsf"}
$data =array( array('sss'=>1,'abc'=>'111dd'), array('sss'=>2,'abc'=>'test'), array('sss'=>3,'abc'=>22), array('sss'=>4,'abc'=>333), array('sss'=>5,'abc'=>'dsafsf'));foreach($data as $v){ $s=array_flip($v); $res=$res?array_merge($res,$s):$s;}var_dump($res);