Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как удалить пустые элементы массива
 
 автор: OLi   (03.11.2012 в 18:23)   письмо автору
 
 

[2]=>
    array(0) {
    }



Элементом массива является массив.

  Ответить  
 
 автор: confirm   (03.11.2012 в 18:28)   письмо автору
 
   для: OLi   (03.11.2012 в 18:23)
 

Что такое по вашему пустые? array(0) - это не пустой массив, а массив с одним элементом, значение которого равно 0.

  Ответить  
 
 автор: OLi   (03.11.2012 в 18:33)   письмо автору
 
   для: confirm   (03.11.2012 в 18:28)
 

В общем сделал так:

<? $this->_data['search'] = $this->search_model->search($this->input->post('search_top'));
                        
$null_keys array_keys($this->_data['search']['result'], NULL);
                        for (
$i=0$i<count($null_keys); $i++)
                            unset(
$this->_data['search']['result'][$null_keys[$i]]);?> 


Насколько правильно, неправильно - прокомментируйте пожалуйста

  Ответить  
 
 автор: OLi   (03.11.2012 в 18:35)   письмо автору
 
   для: OLi   (03.11.2012 в 18:33)
 

Если сделать замену NULL на 0, то мой кусок кода не удаляет пустой элемент массива

  Ответить  
 
 автор: confirm   (03.11.2012 в 18:47)   письмо автору
 
   для: OLi   (03.11.2012 в 18:35)
 

Внизу написал уже. Ну а коли по этим конкретным данным, значит объявляйте вторым аргументом функции (ниже указанной) массив - array(null, 0).

  Ответить  
 
 автор: confirm   (03.11.2012 в 18:40)   письмо автору
 
   для: OLi   (03.11.2012 в 18:33)
 

Я вас спрашиваю, что вы считаете пустым, и что именно надо удалить, а вы мне показываете...
Есть функции пересечения массивов. Одна из них, это array_diff(), которая вычисляет разницу массивов. Укажите аргументами массив исходный, и массив значений которые надо удалить, функция вернет массив значений, которые вы не считаете пустыми.

  Ответить  
 
 автор: mihdan   (04.11.2012 в 15:58)   письмо автору
 
   для: OLi   (03.11.2012 в 18:23)
 

<?php
array_filter
($array'trim');

// или

array_diff($array, array( '' )));
?>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования