0

私はこのマルチ配列を持っています"$marray wichは、いくつかの類似したkey = valueを持つ配列の中にあり、いくつかはこのようには見えません:

$marray = array(
 array("id" => "1", "be_pro" => 6, "name" => "a1", "service" => 4a),
 array("id" => "2", "be_pro" => 6, "name" => "a1", "service" => 4d),
 array("id" => "3", "be_pro" => 4, "name" => "a4", "service" => 3d),
 array("id" => "4", "be_pro" => 4, "name" => "a4", "service" => 3s),
 array("id" => "6", "be_pro" => 4, "name" => "a4", "service" => 34),
 array("id" => "8", "be_pro" => 3, "name" => "a3", "service" => 4r),
 array("id" => "8", "be_pro" => 3, "name" => "a3", "service" => 4d)
);

したがって、「id」、「be_pro」、「name」の新しい配列を一度取得したいので、次の配列から「service」と「service」を追加して、新しい配列の「be_pro」が異なるようにします。次の配列。

これはどのようにすればよいですか?

私が必要としているのは、複数の配列と、同様のbe_proを持つすべての行の配列内と配列を出力することです

4

1 に答える 1

0

これは私を助けます:

  // first get all bepro_id and put in array
   foreach($all_rows as $service){
    $bepros[$service['bepro_id']]++;
   }
  //var_dump($bepros);

 //Then for each be pro_id print every row , so print every service , then for be pro_id,id,name just print the first key "[0]" the array inside $new_array

 foreach ($bepros as $key=>$bepro){
    if(isset($new_bep)){
        $x = 0 + $new_bep;
    }else{
        $x = 0;
    }
    $new_array[] = array_slice($all_rows,$x,$bepro);

    // get where let before
    $new_bep=$x + $bepro;
 }
于 2012-07-04T16:34:44.403 に答える