2014-01-23 7 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>'; 

Всякий раз, когда все содержимое удаляется, массив не «очищается»? Я не уверен, что это слово, похоже, на самом деле не опустошает. Эхо «DDDD» - это увидеть, содержит ли массив что-то внутри. Я также попытался увидеть, если массив равен NULL, но ни один из них не будет эхом, но раскрывающийся список все еще создается с пустым выбором. Массив извлекается из страницы процесса с помощью переменной сеанса на другой странице. В основном массив не имеет ничего внутри, но действует так, как будто. Что-нибудь, что я делаю неправильно, чтобы вызвать это? Извините за плохой английский

+0

Что делает 'var_dump ($ _ SESSION ['array']);' произвести? – Class

+0

Пустой массив - это не то же самое, что 'NULL'. – Barmar

+0

размер массива 0 пустой – user3128099

ответ

1

Изменить

if ($narray != NULL) { 

к:

if (!empty($narray)) { 

Если удалить все элементы массива, он по-прежнему является массивом, и не равна null.

Смежные вопросы