ホームページ >バックエンド開発 >PHPチュートリアル >配列を垂直から水平に変換するにはどうすればよいですか?

配列を垂直から水平に変換するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 13:52:431033ブラウズ

array(	6=>array(5=>'黑xx', 42=>'XXL'),	7=>array(5=>'黑xx', 40=>'XL'),	8=>array(8=>'灰',   40=>'XL'),);//结果:array(	0=>array(5=>'黑xx', 8=>'灰'),	1=>array(42=>'XXL', 40=>'XL'),);

配列を垂直方向から水平方向に変換し、重複する値をフィルタリングする方法



ディスカッションに返信する (解決策)

$a = array(	6=>array(5=>'黑xx', 42=>'XXL'),	7=>array(5=>'黑xx', 40=>'XL'),	8=>array(8=>'灰',   40=>'XL'),);foreach($a as $r) {  $b[key($r)] = current($r);  next($r);  $c[key($r)] = current($r);}$b = array($b, $c);print_r($b);
Array(    [0] => Array        (            [5] => 黑xx            [8] => 灰        )    [1] => Array        (            [42] => XXL            [40] => XL        ))

$arr = array(    6=>array(5=>'黑xx', 42=>'XXL'),    7=>array(5=>'黑xx', 40=>'XL'),    8=>array(8=>'灰',   40=>'XL'),);$result = array();foreach($arr as $a){    $keys = array_keys($a);    $vals = array_values($a);    $result[0][$keys[0]] = $vals[0];    $result[1][$keys[1]] = $vals[1];}print_r($result);


Array(    [0] => Array        (            [5] => 黑xx            [8] => 灰        )    [1] => Array        (            [42] => XXL            [40] => XL        ))

$a = array(    6=>array(5=>'黑xx', 42=>'XXL'),    7=>array(5=>'黑xx', 40=>'XL'),    8=>array(8=>'灰',   40=>'XL'),); foreach($a as $r) {  $i = 0;  while(list($k, $v) = each($r)) $b[$i++][$k] = $v;}print_r($b);
Array(    [0] => Array        (            [5] => 黑xx            [8] => 灰        )    [1] => Array        (            [42] => XXL            [40] => XL        ))
を書く最も簡単な方法

一番簡単な書き方は

$a = array(    6=>array(5=>'黑xx', 42=>'XXL'),    7=>array(5=>'黑xx', 40=>'XL'),    8=>array(8=>'灰',   40=>'XL'),); foreach($a as $r) {  $i = 0;  while(list($k, $v) = each($r)) $b[$i++][$k] = $v;}print_r($b);
Array(    [0] => Array        (            [5] => 黑xx            [8] => 灰        )    [1] => Array        (            [42] => XXL            [40] => XL        ))
です



この方法は良いですね! ! ! !

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。