>  기사  >  데이터 베이스  >  PHP에서 배열을 수직에서 수평으로 변환하고 중복된 값을 필터링하는 방법 분석

PHP에서 배열을 수직에서 수평으로 변환하고 중복된 값을 필터링하는 방법 분석

怪我咯
怪我咯원래의
2017-06-16 11:22:451236검색

이 기사에서는 주로 배열을 가로로 변환하고 중복 값을 필터링하는 PHP의 방법을 소개하며, 구체적인 예와 함께 배열 순회, 변환 및 중복 제거와 관련된 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);

Meth 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.