0

我有这个多数组“$marray 里面有一些类似 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 回答