PHP調用C#Webservice如果判斷是否有資料呢?
回複討論(解決方案)
$obj_xml = simplexml_load_string($result);
print_r($obj_xml);
你的代碼是可以的
說說有什麼疑問
$obj_xml = simplexml_load_string($result);
print_r($obj_xml);
你的代碼是可以的
說說有什麼疑問
我的意思是,如果當天航班停班了,這個就沒有航班資料,
如果沒有資料,foreach($obj_xml->NewDataSet->Table1 as $item) 這裡會報錯.
Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\WS\index.php on line 137
if(isset($obj_xml->NewDataSet->Table1)) foreach($obj_xml->NewDataSet->Table1 ....
或
if(is_array($obj_xml->NewDataSet->Table1)) foreach($obj_xml->NewDataSet->Table1 ....
if(isset($obj_xml->NewDataSet->Table1)) foreach($obj_xml->NewDataSet->Table1 ....
或
if(is_array($obj_xml->NewDataSet->Table1)) foreach($obj_xml->NewDataSet->Table1 ....
if(isset($obj_xml->NewDataSet->Table1)) 可以
if(is_array($obj_xml->NewDataSet->Table1)) 不行,原本有資料也不顯示了,我之前也是用if(is_array($obj_xml->NewDataSet->Table1)) 發現不行,才上來發貼,能解釋一下is_array不能的原因嗎?$obj_xml->NewDataSet->Table1確實是數組呀?不是很明白?
嗯,那是對象,不是數組
echo gettype($obj_xml->NewDataSet->Table1); // object
但 count 可以正確的返回成員個數
echo count($obj_xml->NewDataSet->Table1); //87
嗯,那是對象,不是數組
echo gettype($obj_xml->NewDataSet->Table1); // object
但 count 可以正確的返回成員個數
echo count($obj_xml->NewDataSet->Table1); //87
版主,幫我把二樓的貼給刪除了,謝謝!