この記事では、配列の垂直方向から水平方向への変換と重複値のフィルタリングを実現するための PHP の方法を主に紹介し、配列の走査、変換、重複排除に関する PHP の操作スキルを比較および分析します。
詳細は以下の通りです:1. 質問
配列があります: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'), );
2. 解決策:
方法 1:
$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);
方法 2:
$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);
最も簡単な書き方:
$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 ) )
PHP 実践チュートリアルフィルタリング、検証、エスケープ、パスワードメソッド
PHPに関する知識についてFilter
以上がPHPで配列を縦横変換して重複値をフィルタリングする方法を図解で詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。