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

怪我咯
풀어 주다: 2017-06-16 11:22:45
원래의
1250명이 탐색했습니다.

이 기사에서는 주로 배열을 가로로 변환하고 중복 값을 필터링하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿