2016-03-29 53 views
0

與前一個元素,空項我有以下$data陣列替換關聯數組

Array 
(
    [0] => Array 
     (
      [match_day] => MD27 
      [price] => 95.33 
     ) 
    [1] => Array 
     (
      [match_day] => MD28 
      [price] => 97.82 
     ) 
    [2] => Array 
     (
      [match_day] => MD29 
      [price] => 
     ) 
    [3] => Array 
     (
      [match_day] => MD30 
      [price] => 
     ) 
    [4] => Array 
     (
      [match_day] => MD31 
      [price] => 
     ) 
) 

現在,我的要求是 - 替換以前的價格屬性,價格屬性的空項。

幫助真的很感激。 在此先感謝。

+0

遍歷與您指定的價格一個變量,如果它不是爲空,否則使用該變量將其分配給價格。完成。 – Rizier123

+0

在PHP中使用'foreach()'函數來遍歷數組。 – Jer

回答

0

對您的數組執行foreach循環,存儲以前的價格值,如果當前項目的價格爲空,則使用previous替換它。例如:

$previous = 0; 
foreach($data AS $key => $row) { 
    if (empty($row['price'])) 
    $data[$key]['price'] = $previous; 
    else 
    $previous = $row['price']; 
} 
+0

完美工作....謝謝@Reversal –

2

沒有必要去爲for loop你可以試試下面的代碼:

$result = []; 
array_walk($data, function($v,$k) use (&$result){ 
    $result[$k] = $v; 
    if(!isset($result[$k]['price']) || $result[$k]['price'] == null){ 
     $result[$k]['price'] = $result[$k - 1]['price']; 
    } 
}); 

print_r($result); 

工作演示是Here

+0

完美工作....謝謝@Ali –