2012-02-03 2 views
2

나는이 다음과 같은 배열 또는 배열 :PHP : 배열을 사용자 정의 함수를 기반으로하는 청크로 분할 했습니까?

$bigArray = array(
     array(
      id = 3, 
      text = "Hello World" 
      ), 
     array(
      id = 3, 
      text = "Taco" 
      ), 
     array(
      id = 10, 
      text = "Foo" 
      ), 
     array(
      id = 10, 
      text = "Bar" 
      ), 
     array(
      id = 10, 
      text = "dogfood" 
      ) 
    ); 
내가 지금처럼 ID 번호를 기반으로 다수의 배열로 배열까지의 배열을 분할 할 수 있도록하고 싶습니다

:

$arrayOne = array(
     array(
      id = 3, 
      text = "Hello World" 
      ), 
     array(
      id = 3, 
      text = "Taco" 
      ) 
     ); 

    $arrayTwo = array(
     array(
      id = 10, 
      text = "Foo" 
      ), 
     array(
      id = 10, 
      text = "Bar" 
      ), 
     array(
      id = 10, 
      text = "dogfood" 
      ) 
    ); 

가장 좋은 PHP 함수는 array_chunk()이지만 숫자 인덱스에서만 작동합니다. 사용자 정의 작성 함수를 기반으로 청크 분할 결정을 내리는 비슷한 기능이 있습니까?

bigArray를 반복 실행하고이 모든 작업을 수동으로 수행 할 수 있음을 알고 있지만 먼저 기본 메소드가 있는지 먼저 묻고 싶습니다.

답변

1

id 속성을 사용하여 배열을 생성합니다. 당신이 extract($chunks,EXTR_PREFIX_ALL, 'Array_');을 실행하면

$group = array(); 
foreach($bigArray as $ar){ 
    $group[$ar['id']][]=$ar; 
} 
$chunks = array_values($group); 

이제 당신은 $Array_1$Array_0 같은 배열 변수를 얻을 수 있습니다

관련 문제