2017-01-02 105 views
0

我想在這些數值上使用鍵將兩個數組連接到同一級別(進入一個新數組)。到目前爲止已經試過這樣:在php codeigniter中使用數組引用

$car_all_attributes = array(); 
      foreach ($cars_without_price as $key => $cars) 
      { 
       $keep_fare = 0; 
       $i = 0; 
       foreach ($data['cars_fare'] as $f_key => $fare) 
       { 
        $c_fare = (explode("-",$fare)); 
        if ($c_fare[0] == $cars->chauffeur_id) 
        { 
         $car_fare = $c_fare[1]; 
         $car_all_attributes[$f_key]['old_price'] = $car_fare; 
         $car_all_attributes[$f_key][$key] = $cars; 
         $i++; 
        } 
       } 
      } 

,並導致我得到的是小關,我想它做的,結果我得到的是:

Array 
(
[0] => Array 
    (
     [old_price] => 460 
     [0] => stdClass Object 
      (
       [chauffeur_id] => 16 
       [chauffeur_avalibality] => 1 
       [chauffeur_supplier_id] => 1 
       [chauffeur_country_id] => 190 
       [chauffeur_city_id] => 0 
       [chauffeur_make] => Mercedes S 350 or similar 
       [chauffeur_model] => 
       [chauffeur_car_type] => 2 
       [chauffeur_transmission] => 
       [chauffeur_door] => 4 
       [chauffeur_passengers] => 5 
       [chauffeur_large_suitecase] => 4 
       [chauffeur_small_suitecase] => 5 
       [chauffeur_ac] => 1 
       [chauffeur_img] => carType_145851015451.jpg 
       [chauffeur_service_chaufer] => 1 
       [chauffeur_service_airport] => 0 
       [deleted] => 0 
      ) 

    ) 

[1] => Array 
    (
     [old_price] => 352 
     [1] => stdClass Object 
      (
       [chauffeur_id] => 17 
       [chauffeur_avalibality] => 1 
       [chauffeur_supplier_id] => 1 
       [chauffeur_country_id] => 190 
       [chauffeur_city_id] => 0 
       [chauffeur_make] => Mercedes E-Class or similar 
       [chauffeur_model] => 
       [chauffeur_car_type] => 1 
       [chauffeur_transmission] => 
       [chauffeur_door] => 4 
       [chauffeur_passengers] => 4 
       [chauffeur_large_suitecase] => 4 
       [chauffeur_small_suitecase] => 4 
       [chauffeur_ac] => 0 
       [chauffeur_img] => carType_145851017815.jpg 
       [chauffeur_service_chaufer] => 1 
       [chauffeur_service_airport] => 0 
       [deleted] => 0 
      ) 

    ) 

[2] => Array 
    (
     [old_price] => 368 
     [2] => stdClass Object 
      (
       [chauffeur_id] => 18 
       [chauffeur_avalibality] => 1 
       [chauffeur_supplier_id] => 1 
       [chauffeur_country_id] => 190 
       [chauffeur_city_id] => 0 
       [chauffeur_make] => Mercedes Viano or similar 
       [chauffeur_model] => 
       [chauffeur_car_type] => 3 
       [chauffeur_transmission] => 
       [chauffeur_door] => 4 
       [chauffeur_passengers] => 6 
       [chauffeur_large_suitecase] => 4 
       [chauffeur_small_suitecase] => 6 
       [chauffeur_ac] => 1 
       [chauffeur_img] => carType_145851020593.jpg 
       [chauffeur_service_chaufer] => 1 
       [chauffeur_service_airport] => 0 
       [deleted] => 0 
      ) 

    ) 

) 我不希望這[0]=>stdClass Object而分配,我知道我在做$car_all_attributes[$f_key][$key]並且添加了一個新的關鍵字get和所有的值,想知道是否有一種方法可以像結果數組一樣在同一級上執行它?

[0] => Array 
    (
       [old_price] => 460 
       [chauffeur_id] => 16 
       [chauffeur_avalibality] => 1 
       [chauffeur_supplier_id] => 1 
       [chauffeur_country_id] => 190 
       [chauffeur_city_id] => 0 
       [chauffeur_make] => Mercedes S 350 or similar 
       [chauffeur_model] => 
       [chauffeur_car_type] => 2 
       [chauffeur_transmission] => 
       [chauffeur_door] => 4 
       [chauffeur_passengers] => 5 
       [chauffeur_large_suitecase] => 4 
       [chauffeur_small_suitecase] => 5 
       [chauffeur_ac] => 1 
       [chauffeur_img] => carType_145851015451.jpg 
       [chauffeur_service_chaufer] => 1 
       [chauffeur_service_airport] => 0 
       [deleted] => 0 

回答

1

代替

$car_all_attributes[$f_key]['old_price'] = $car_fare; 
$car_all_attributes[$f_key][$key] = $cars; 

試試這個(即轉換對象到數組與舊的價格將其合併,而不是增加一個新的密鑰) -

$car_all_attributes[$f_key] = array_merge(
    array('old_price' => $car_fare), 
    (array) $cars 
); 
+0

是的,這是現貨。非常感謝 –

1

看起來像你的$cars是一個對象。您應該獲取數組,或將其轉換爲數組。

if ($c_fare[0] == $cars->chauffeur_id) { 
    $car_fare = $c_fare[1]; 
    $car_all_attributes[$f_key] = (array)$cars; 
    $car_all_attributes[$f_key]['old_price'] = $car_fare; 
    $i++; 
} 
0

變化從

$car_all_attributes[$f_key][$key] = $cars; 

$car_all_attributes[$f_key] = (array)$cars;