2014-10-16 4 views
0

Ok, так что я делаю вызов API с помощью NuSOAP и я получаю массив перенастроена:Значение многомерного массива PHP?

Вот пример со значениями, если массив содержит данные:

$result['GetOrderListResult']['Status'] VALUE: - Success 
$result['GetOrderListResult']['MassageCode'] VALUE: - 0 
$result['GetOrderListResult']['ResultData'] VALUE: - array[1] 

Ее является массив не нет данные:

$result['GetOrderListResult']['Status'] VALUE: - Success 
$result['GetOrderListResult']['MassageCode'] VALUE: - 0 
$result['GetOrderListResult']['ResultData'] VALUE: - '' 

Как вы можете видеть, что они очень похожи друг от $ результата [ «GetOrderListResult»] [ «ResultData»], который содержит либо массив или нет. И мне нужно проверить это, но я не могу показаться.

if ($result['GetOrderListResult']['ResultData'] = "") { 

     $numberofresults = 'True'; 
    } else { 
     $numberofresults = 'False'; 
    } 

Это всегда возвращает значение False, даже если значение $ результат [ «GetOrderListResult»] [ «ResultData»] является «», который я копирую & пасту из наблюдая переменную в Xdebug.

Я уверен, что есть простой способ проверить это, но я не могу найти ничего, что работает, но я новичок в PHP, поэтому извиняюсь, если это глупый вопрос.

ответ

1
  1. Вы пытаетесь присвоить (=) вместо сравнения (===).

    $ результат [ 'GetOrderListResult'] [ 'ResultData'] = ""

  2. секунду вы API может возвращать массив() или пустую строку? Так что лучше перепроверить

    if (is_array($result['GetOrderListResult']['ResultData']) && count($result['GetOrderListResult']['ResultData'])) { 
        $numberofresults = 'True'; 
    } else 
    { 
        $numberofresults = 'False'; 
    } 
    
+0

Arrrrgghhh Спасибо так много. Извиняюсь ... – Paul

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