soap — Не отображать varaibile, если он не содержит значения (PHP |

Я использую SOAP для получения некоторых данных из другого сервиса, я получаю XML, конвертирую и отображаю его с помощью PHP. Дело в том, что иногда в XML-файле для него нет значения, и я не знаю, как отобразить какое-то сообщение типа «Эта вещь не была установлена», вместо этого я просто получаю уведомление с
Примечание: преобразование массива в строку в \ data2.php в строке 636
массив

Что я попробовал:

                  if(isset($claim ['vehicle']['engine-cc']))
echo  var_dump($claim ['vehicle']['engine-cc']);

вывод: массив (0) {}

После этого я пытаюсь что-то вроде:

                  if(isset($claim ['vehicle']['engine-cc']))
echo  var_dump(isset($claim ['vehicle']['engine-cc']));

Вывод: bool (true)

Так что, похоже, я все делаю плохо, можешь дать мне совет, как мне это исправить?

постскриптум Я знаю, что могу перестать отображать ошибки и уведомления, но это не так, как я хочу «исправить» это

0

Решение

вам не нужно echo после var_dump уже есть var_dump(используется для печати массива) или может быть, у вас нет массива для $claim ['vehicle']['engine-cc'] это строка

 var_dump($claim ['vehicle']['engine-cc']); // for array
echo $claim ['vehicle']['engine-cc'] // for string

возвращение bool (правда), потому что у вас есть isset()(вернет логическое значение true / false)

var_dump(isset($claim ['vehicle']['engine-cc']));

Для печати значений массива вам нужно только: —

var_dump($claim ['vehicle']['engine-cc']); or var_dump($claim);

вернет вам полный вывод массива

для любой проверки пустые значения попробуйте

if(!empty($claim ['vehicle']['engine-cc']))
var_dump($claim ['vehicle']['engine-cc']);
1

Другие решения

Вы можете сделать это, просто повторив сообщение.

`if (! isset ($ demand [‘vehicle’] [‘engine-cc’]))

echo ‘engine-cc — эта вещь не была установлена’; `

0

Вам, скорее всего, нужно использовать опцию «SOAP_SINGLE_ELEMENT_ARRAYS».
По умолчанию SOAP возвращает пустое или одно значение атрибута SOAP в виде строки, а не массива. Добавление опции SOAP_SINGLE_ELEMENT_ARRAYS в запрос клиента SOAP заставит возвращать значение в виде пустой ARRAY, а не пустой строки. Увидеть пример здесь.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector