2011-11-22 67 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