例外を処理するソリューションを探しています。私が持っているAPIで 、注文に関する詳細は、オブジェクトの配列に保存されます。 この例では、少なくとも2つの項目がありますPHP - オブジェクトの配列に1つのオブジェクトしかない場合の例外の処理
Array
(
[0] => stdClass Object
(
[Cena] => 60,66
[CenaJ] => 60,66
[Czas] => 2017-07-10 08:01:42
[FromAgency] => 1
[Ilosc] => 1
[ProdKod] => 2322501
[RecNo] => 3163466
[Status] =>
[TowKod] => 205 658
[TowNaz] => HAM.KLOCKI /P/CORSA 01-
[Typ] => Z
[VAT] => 23
[WazneDni] => 5
)
一つだけのアイテムがオーダーに存在するときしかし、それはより深く行きます私はこの順序で項目のテーブルを抽出しようとしています
stdClass Object
(
[Cena] => 60,66
[CenaJ] => 60,66
[Czas] => 2017-07-10 08:01:42
[FromAgency] => 1
[Ilosc] => 1
[ProdKod] => 2322501
[RecNo] => 3163466
[Status] =>
[TowKod] => 205 658
[TowNaz] => HAM.KLOCKI /P/CORSA 01-
[Typ] => Z
[VAT] => 23
[WazneDni] => 5
)
、および2つの以上の項目があるまですべてが素晴らしいです:、唯一のオブジェクトではなく、配列を返します。ときそこ
$tablica_zam=($buforinfo->GetOrdersResult->BuforInfo);
print_r($buforinfo->GetOrdersResult->BuforInfo);
$count= count((array)$tablica_zam);
echo"</br> Ilość pozycji w buforze zamówień :";
print_r($count);
echo "</br>";
$usun=array();
for ($i=0;$i<$count;$i++){
echo"<tr><td>";
print_r($buforinfo->GetOrdersResult->BuforInfo[$i]->ProdKod);
echo"</td><td>";
print_r($buforinfo->GetOrdersResult->BuforInfo[$i]->TowKod);
echo"</td><td>";
print_r($buforinfo->GetOrdersResult->BuforInfo[$i]->TowNaz);
echo"</td><td>";
print_r($buforinfo->GetOrdersResult->BuforInfo[$i]->Ilosc);
echo"</td><td>";
しかし、それは動作しません。ここに私のコードのexmapleは、テーブル内の行の特定のNUMERのループを作成するには、がありますどのように多くのアイテムカウントする)私は(カウントを使用し、あります1つの項目だけです。深い項目を数えて13を返します。したがって、コード全体がアプリケーションを持たないことになります。この例外を処理する方法に関するヒントや解決策を教えてください。
ありがとうございます。
私は、第二の溶液をお勧めしますので、何のコードの重複はありません。 – Barmar
私は@Barmarに同意します – gview