2014-01-23 62 views
0

我有一个表单,允许用户添加和删除数组中的对象。删除过程通过取出数组并将所有内容转储到下拉列表中,用户可以选择他们想要从中删除的内容。阵列没有正确清理?

<?php 
session_start(1); 

if (isset($_SESSION['array'])){ 
$narray = $_SESSION['array']; 
if ($narray != NULL){ 
echo "DDDD"; 
} 

echo 'Select an object to delete: '; 
echo '<select name=deleteob>'; 
foreach($narray as $drop){ 
     echo'<option value="'.$drop.'">'.$drop.'</option>'; 
    } 
echo '</select>'; 

每当删除所有内容时,数组不会清除?我不确定这个词,它似乎并没有真正清空。 echo'DDDD'是查看数组是否包含内容。我也试着看看数组是否为NULL,但两者都不会回显任何内容,但下拉列表仍然是用空选择创建的。该数组正在被另一页上的会话变量从进程页面中拉出。基本上阵列里面没有任何东西,但它的行为就像它一样。任何我做错了造成这种情况?对不起,我的英文不好

+0

'var_dump($ _ SESSION ['array']);'产生了什么? – Class

+0

空数组与NULL不相同。 – Barmar

+0

数组大小0为空 – user3128099

回答

1

变化

if ($narray != NULL) { 

到:

if (!empty($narray)) { 

如果您删除阵列中的所有元素,它仍然是一个数组,不等于null