I have a basic zend_config_xml instance that stores some inventory information such as which products are on replenishment (replenish_departments) vs which products can't be reordered (fashion_departments). (fyi our products are classified into departments, each department has a unique alpha code) My xml looks similar to:
<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>
Ne yapmam gerekiyor, belirli bir bölüm kod doldurmak ya da moda olup olmadığını hızlı bir şekilde anlatmak. Ben ne çalışıyordum basit (ya da ben öyle düşündüm) idi:
foreach ($inv_settings->replenish_departments as $replenish_deptcode) {
if ($given_deptcode == $replenish_deptcode) return true;
}
Ancak, ne ben keşfettim tek bir çocuk düğüm olduğunda, bunu yineleyemezsiniz oldu. Diğer bir deyişle, bu kod fashion_departments için kelimeleri değil, replenish_departments.
Burada püf noktası nedir?
EDIT: Ben foreach içinde bir dizi olarak $ inv_settings typecasting eğer, ben bir hata olmadan yinelemek mümkün olduğumu keşfettim. Şimdilik, bu ben kullanıyorum yöntemidir, ama ben yine de daha iyi bir düzeltme açığım.