1
這應該採取任何行ing_name
是重複的,結合eff_name
字段並刪除重複,但它也有副作用,將數組從數字更改爲關聯。我的ajax期待數組數組。功能正在改變數組從數字到關聯
for($i=count($recipe)-1; $i>0; $i--) {
if($recipe[$i]['ing_name'] == $recipe[$i-1]['ing_name']) { //check for duplicate. **array must be sorted by ing_name**
$recipe[$i-1]['eff_name'] .= ', '.$recipe[$i]['eff_name']; //Combine eff_name of duplicates
$recipe[$i-1]['link'] = true;
unset($recipe[$i]); //remove duplicate index
}
}
編輯:所以我估計它必須是與取消設置指數,所以我這樣做,它似乎就ok工作:
$newRecipe = array();
foreach($recipe as $r) {
$newRecipe[] = $r;
}
新問題,有沒有更好的方法?
array_values似乎工作,爲什麼它很醜? – pdizz 2012-04-26 19:04:22
Nevermind,array_splice把我引向了我最終使用的array_slice,因爲我只需要一次刪除一個索引。謝謝! – pdizz 2012-04-26 19:10:42
由於您正在創建一個新的陣列,因此破壞了原始陣列。如果在循環內使用'array_splice'而不是'unset',則不需要像原始代碼那樣創建新數組。 – bfavaretto 2012-04-26 19:12:05