2012-02-03 14 views
2

Iは、以下の配列または配列を有する: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" 
      ) 
    ); 

私はそれが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のように配列変数を取得します

関連する問題