2015-05-31 3 views
0

Я пытаюсь удалить пустой массив из данных автозаполнения. Я имею в виду, как удалить или удалить пустой массив из списка вывода автозаполнения?Как удалить пустой массив из данных автозаполнения?

$(function() { 
var available_tags=[ <?php 
foreach(glob('../image/imagefiles/*.*') as $key=>$filename){ 
     if($key==0) 
      {echo "'".$filename."'";} 
      else 
      {echo ",'".$filename."'";} 
    } 
    ?> ]; 

    $("#tags").autocomplete({ 
      minLength: 0, 
      source: available_tags, 
        }); 
      }); 

<div class="ui-widget"> 
     <input id="tags" size="50"> 
    </div> 

Выход:
.
..
image1
image2

Необходимость выхода:
image1
image2

+0

Записи '.' и' ..' не являются «пустыми». Они являются ссылками на текущий и родительский каталоги. Это имеет смысл, поскольку эти узлы действительно также содержатся в списке каталогов. Если вы хотите удалить их из своего массива, либо используйте функцию 'unset()', либо при повторении результата 'glob' просто игнорируйте их. – arkascha

+0

Как скрыть/удалить это? –

+0

Я так сказал в комментарии. Вы прочитали его до конца? Я привел пример в ответе ниже. – arkascha

ответ

0

Чтобы удалить две ссылки . и .. (эти записи являются не пустые, но ссылки на текущий и родительский каталог) в список вы получите, как вернулся из звоните в glob() вы можете просто игнорировать их при переборе по результату:

<?php 
$elements = array(); 
foreach(glob('../image/imagefiles/*.*') as $key=>$filename) { 
    if(!in_array($filename, array('.', '..'))) { 
     $elements[] = "'".$filename."'"; 
    } 
} 
echo implode(',', $elements); 

Возможно, вы также хотите, чтобы добавить некоторые HTML-разметку там и htmlescape() имена файлов, но этот фрагмент должен помочь указать, как пропустить записи ...

+0

Он показывает мне 'Parse error: синтаксическая ошибка, неожиданная '[' ...' –

+0

А, у вас есть очень старая версия php, через секунду я ее изменю ... Должен быть лучше сейчас. Не забудьте обновить php некоторое время, те старые версии php содержат проблемы безопасности, которые были исправлены в более новых версиях. – arkascha

+0

Спасибо за ваш ответ ... –

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