>  기사  >  백엔드 개발  >  thinkphp 배열 병합

thinkphp 배열 병합

WBOY
WBOY원래의
2016-08-18 09:15:343377검색

무한 분류 시 발생하는 문제
1차 디렉터리의 ID에 따라 1차 디렉터리에 포함된 모든 3차 디렉터리를 읽어야 합니다
foreach 루프를 읽은 후 배열이 5개인데, 배열로 병합할 수 있나요?
array_merge() 함수를 사용했는데 결과가 여전히 5개이고 병합에 실패했습니다.

<code>array (size=3)
  0 => 
    array (size=2)
      'type_name' => string '机油-2型' (length=11)
      'type_id' => string '8' (length=1)
  1 => 
    array (size=2)
      'type_name' => string '机油-3型' (length=11)
      'type_id' => string '9' (length=1)
  2 => 
    array (size=2)
      'type_name' => string '机油-4型' (length=11)
      'type_id' => string '10' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯' (length=12)
      'type_id' => string '20' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯1' (length=13)
      'type_id' => string '21' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯1212' (length=16)
      'type_id' => string '22' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '汽油泵22型' (length=14)
      'type_id' => string '19' (length=2)</code>

답글 내용:

무한 분류 시 발생하는 문제
1차 디렉터리의 ID에 따라 1차 디렉터리에 포함된 모든 3차 디렉터리를 읽어야 합니다
foreach 루프를 읽은 후 배열이 5개인데, 배열로 병합할 수 있나요?
array_merge() 함수를 사용했는데 결과가 여전히 5개이고 병합에 실패했습니다.

<code>array (size=3)
  0 => 
    array (size=2)
      'type_name' => string '机油-2型' (length=11)
      'type_id' => string '8' (length=1)
  1 => 
    array (size=2)
      'type_name' => string '机油-3型' (length=11)
      'type_id' => string '9' (length=1)
  2 => 
    array (size=2)
      'type_name' => string '机油-4型' (length=11)
      'type_id' => string '10' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯' (length=12)
      'type_id' => string '20' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯1' (length=13)
      'type_id' => string '21' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯1212' (length=16)
      'type_id' => string '22' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '汽油泵22型' (length=14)
      'type_id' => string '19' (length=2)</code>

여러 개의 1차원 배열을 결합하려면 array_merge() 함수를 사용하세요.

제가 잘못 봤네요. 알고보니 2차원 배열이더군요. 그런 다음 foreach 후에만 배열을 어셈블할 수 있습니다.

질문자는 데이터베이스를 몇 번이나 확인했나요? 실제로 한 번 감지하고 나중에 처리할 수 있습니다.
원본 포스터가 어떻게 병합을 이전과 동일하게 만들었는지 모르겠습니다. 아니면 포스터가 원하는 구조가 당신이 묘사한 것과 다르기 때문인가요?

<code><?php
$array1 = [
    [
        'type_name' => '机油-2型',
        'type_id' => '8'
    ],
    [
        'type_name' => '机油-2型',
        'type_id' => '2'
    ],
    [
        'type_name' => '机油-2型',
        'type_id' => '3'
    ],
];
$array2 = [
    [
        'type_name' => '机油-2型',
        'type_id' => '6'
    ],
    [
        'type_name' => '机油-2型',
        'type_id' => '22'
    ],
];
$arrays = array_merge($array1, $array2);
var_dump($arrays);</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.