2011-11-22 57 views
0

我使用array_unique從數組中刪除重複項,但即使計數器是正確的,並且元素的數量是正確的,它的某些元素顯示爲undefined!某些array_unique值未定義?

$varietals=array_unique($varietals1); 

$countVarietals = count($varietals); 

我列出使用jQuery

var Varietal = data.Varietal; 
var countVarietal = data.countVarietal; 
// alert(countVarietal); 
$("#selectVarietal").html(""); 
for(var i = 0; i < countVarietal; i++){ 

    $("#selectVarietal").append("<label><input type='checkbox' class='wineTypeCheck' name='Varietal' value='"+Varietal[i]+"' />"+Varietal[i]+"</label><br />"); 
}  

任何人都熟悉這個結果嗎? 提前謝謝你!

+0

你試過看到在jQuery的在PHP本身,而不是看到的數據? – emaillenin

+0

不,因爲它被放在一個空的頁面,只包含php腳本,我會嘗試它現在雖然 – Shpat

+0

是的,它工作正常在PHP單獨,問題是與索引,我現在得到它 – Shpat

回答

1
a = array("one", "two", "two", "three") 
    a = array_unique(a); 
    /* will lead to: 
    a[0] = "one" 
    a[1] = "two" 
    a[3] = "three" 
    */ 
    a = array_values(a); 

    /* Now we've got: 
    a[0] = "one" 
    a[1] = "two" 
    a[2] = "three" 
    */ 

因此我需要添加array_values(),以縮小差距

$varietals=array_values(array_unique($varietals1)); 

來源:http://php.net/manual/en/function.array-unique.php