Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Удаление пустых элементов после GetProperties()

00 голосов
2
Вопрос скорей связан с php, нежели с самим Битриксом, но что-то затупил, а спросить негде..
В иблоке есть множество свойств у элемента. Но, некоторые VALUE могут быть пусты, нужно перед выводом элементы с пустым VALUE удалить. Делаю так:
Код
$dbEl=CIBlockElement::GetList(Array(), Array("IBLOCK_TYPE"=>"catalogue", "IBLOCK_ID"=>9));   
$obEl=$dbEl->GetNextElement();
$arProps=$obEl->GetProperties();
function empty_array($arr)
{
foreach($arr as $a=>$val):
   if(empty($val['VALUE'])):
      unset($a);
   endif;      
endforeach;
return $arr;
}

Массив $arProps сначала имеет вид:
Код
Array
(
    [885] => Array
        (
            [ID] => 885
            [TIMESTAMP_X] => 2011-03-11 02:16:38
            [IBLOCK_ID] => 9
            [NAME] => Общее число пикселов / Число эффективных пикселов
            ...
            [VALUE] => 
            ...
        )
)

Но почему-то после empty_array($arProps); элементы с пустым VALUE не удаляются, где я туплю? )
спросил 08 Дек, 13 от Snezhka (2,240 баллов)

2 Ответы

00 голосов
Доброе утро, Олег!
Попробуйте сделать функцию empty_array:

foreach($arr as $a=>$val)
if(empty($val['VALUE'])) unset($arr[$a]);
return $arr;

т.е нужно сделать только unset($arr[$a]);
ответил 09 Фев, 14 от RIHANNA (100 баллов)
00 голосов
да, оно, блин, пробовал так, но не сработало по одной причине - функция не возвращает $arr...т.к. у меня структура массива известна, то без нее обошелся, но все же, хотелось бы понять, почему не работает return $arr?
ответил 30 Май, 14 от Snezhka (2,240 баллов)

Похожие вопросы

0 голосов
1 ответ
0 голосов
4 ответов
спросил 20 Сен, 13 от HeHcu (120 баллов)
0 голосов
0 ответов
0 голосов
5 ответов
спросил 21 Авг, 13 от Exet (380 баллов)
0 голосов
7 ответов
спросил 20 Авг, 13 от EverleSS (200 баллов)