ホームページ >バックエンド開発 >PHPチュートリアル >PHP が Web サービス データを取得し、配列の次元を誤って返す
Web サービス データを取得するときに PHP によって返される配列の次元が正しくありません
Web サービスを読み取るために nusoap プラグインを使用しましたが、問題が発生しました。
返された配列が 1 グループより大きい場合、戻り値は正しくなります。ただし、配列データのグループが 1 つだけの場合、次元が変化し、count が配列の長さを正しく取得できなくなります。
コードは次のとおりです。
データが 2 セットある場合、結果は次のようになります。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> Array ( [getTrafficResult] => Array ( [trafficWay] => Array ( [0] => Array ( [Station] => 4828,4830,4868 [Line] => 2908,2906 [Price] => 10.5 [Alltime] => 10 [ChangeCount] => 1 [Type] => 2,2 [Station_name] => 尖沙咀地铁站#金钟地铁站#铜锣湾地铁站 [Line_name] => 荃湾线,港岛线 [Allstation] => 0|湾仔地铁站 [Stationcount] => 1,2 [Direction] => 中环地铁站#柴湾地铁站 [Time] => 5,5 [Distance] => 2172,2017 [Lineremark] => 0#0 [Addstartinfo] => 0 [Addendinfo] => 0 ) [1] => Array ( [Station] => 2655,2847 [Line] => 1084 [Price] => 9.3 [Alltime] => 30 [ChangeCount] => 0 [Type] => 1 [Station_name] => 北京道,广东道#维多利亚公园,告士打道 [Line_name] => 新巴110 [Allstation] => 新世界中心,梳士巴利道#加连威老道,漆咸道南#香港科学馆,漆咸道南#牲口站,漆咸道北#海底隧道收费广场 [Stationcount] => 6 [Direction] => 筲箕湾 [Time] => 20 [Distance] => 2552 [Lineremark] => 0 [Addstartinfo] => 334#5#0 [Addendinfo] => 337#5#0 ) ) ) )
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> Array ( [getTrafficResult] => Array ( [trafficWay] => Array ( [Station] => 4828,4827,4823,4855,4573 [Line] => 3190,2914,4227,3730 [Price] => 8 [Alltime] => 28 [ChangeCount] => 1 [Type] => 5,2,2,5 [Station_name] => 尖沙咀地铁站#尖东地铁站#红袋地铁站#沙田地铁站#新城市广场 [Line_name] => 步行,西铁线,东铁线,步行 [Allstation] => 0|0|旺角东地铁站#九龙塘地铁站#大围地铁站|0 [Stationcount] => 0,1,4,0 [Direction] => 0#红袋地铁站#落马洲地铁站#0 [Time] => 6,3,15,2 [Distance] => 360,1125,8810,163 [Lineremark] => 0#0#0#从A出口 [Addstartinfo] => 0 [Addendinfo] => 0 ) ) )