Скрыть если пустое

Vptech

Добрый день
есть код

Код (Text):
  1.  
  2.                    
  3. <?php echo sprintargument($arg[‘arg_value’]) ?>

выводит заголовок аргумента и содержимое
в некоторых аргументах нет содержимого
если делаем проверку

Код (Text):
  1. <?php
  2.                      if ($arg[‘arg_value’] !=”) { ?>
  3.                     <?php echo sprintargument($arg[‘arg_value’]) ?><?php } ?>

или

Код (Text):
  1. <?php
  2.                      if ($arg[‘arg_value’] [0]->value) { ?>
  3.                     <?php echo sprintargument($arg[‘arg_value’]) ?><?php } ?>

то заголовок пустого аргумента все равно выводится

var_dump($arg[‘arg_value’]); выдает

Код (Text):
  1. array(4) { [0]=> object(stdClass)#786 (2) { [“arg”]=> string(21) “название аргумента” [“value”]=> string(12) “блаблаблабла” } [1]=> object(stdClass)#785 (2) { [“arg”]=> string(34) “название аргумента1” [“value”]=> string(0) “” } [2]=> object(stdClass)#784 (2) { [“arg”]=> string(35) “название аргумента2” [“value”]=> string(12) “блаблаблабла” } [3]=> object(stdClass)#783 (2) { [“arg”]=> string(35) “название аргумента3” [“value”]=> string(12) “блаблаблабла” } }

вот не могу понять как правильно то прописать условие что бы пустой агрумент не выводило

 

Artur_hopf

Vptech

увы варианты

Код (Text):
  1. if (strlen($arg[‘arg_value’]) == 0 )

результат тот же

Код (Text):
  1. if (strlen($arg[‘arg_value’]) !== 0 )

убирает все

Код (Text):
  1. if (strlen($arg[‘arg_value’]) >< 0 )

так же все убирает
а так же варнинг
Warning: strlen() expects parameter 1 to be string, array given in
и замена на count результата не дает

 

Artur_hopf

а посмотреть что там, религия не позволяет:

Код (Text):
  1. var_dump($arg[‘arg_value’]);
 

Vptech

выше есть

Код (Text):
  1. array(4) { [0]=> object(stdClass)#786 (2) { [“arg”]=> string(21) “название аргумента” [“value”]=> string(12) “блаблаблабла” } [1]=> object(stdClass)#785 (2) { [“arg”]=> string(34) “название аргумента1” [“value”]=> string(0) “” } [2]=> object(stdClass)#784 (2) { [“arg”]=> string(35) “название аргумента2” [“value”]=> string(12) “блаблаблабла” } [3]=> object(stdClass)#783 (2) { [“arg”]=> string(35) “название аргумента3” [“value”]=> string(12) “блаблаблабла” } }
 

Artur_hopf

Vptech

выше опять же писал
и замена на count результата не дает

 

Sail

Элементом массива является объект. Вот и проверяйте его свойства, а не неизвестно что.
Например:

PHP:
  1. foreach ($arr as $objValue) {
  2.     if ($objValue->value == ) continue;
  3.     echo $objValue->arg . ‘: ‘ . $objValue->value . ‘<br>’;
  4. }
 

don.bidon

ТС не весь участок кода показал, нет вывода заголовка аргумента.

 

Sail

Фишка в том, что в функцию sprintargument передаётся весь массив объектов.
То есть, проверка конкретного элемента в массиве перед выполнением sprintargument ничего не даёт :)

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *