获取重复键=>多列中每个数组中的值+其他没有重复的键=>值

时间:2012-06-26 11:37:55

标签: php

我有这个多数组“$ marray里面有一些数组中有一些类似的键=值,有些看起来不像这样:

$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

1 个答案:

答案 0 :(得分: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;
 }