補充中の製品 (replenish_departments) と再注文できない製品 (fashion_departments) などの在庫情報を格納する基本的な zend_config_xml インスタンスがあります。(参考までに、当社の製品は部門に分類されており、各部門には固有のアルファ コードがあります) 私の xml は次のようになります。
<inventory>
<settings>
<allow_backorders>1</allow_backorders>
<replenish_departments>
<department>M</department>
</replenish_departments>
<fashion_departments>
<department>MF</department>
<department>MS</department>
</fashion_departments>
</settings>
</inventory>
私ができるようにする必要があるのは、特定の部門コードが補充中か流行中かをすばやく判断することです。私がしようとしていたことは単純でした(またはそう思った):
foreach ($inv_settings->replenish_departments as $replenish_deptcode) {
if ($given_deptcode == $replenish_deptcode) return true;
}
しかし、私が発見したのは、単一の子ノードがある場合、それを反復処理できないということです。つまり、このコードは fashion_departments を意味しますが、replenish_departments は意味しません。
ここでのトリックは何ですか?
編集: $inv_settings を foreach 内の配列として型キャストすると、エラーなしで反復できることがわかりました。今のところ、これは私が使用している方法ですが、私はまだより良い修正を受け入れています.