对于穷术语的道歉,不能想出正确的词来描述这个问题,所以这个例子应该更有用。访问具有相同名称的PHP对象变量?
我在轮询一个API服务器并返回一个JSON对象,我使用json_decode转换为一个PHP对象。
以XML格式返回结果的一个例子是在这里:http://balifoodsafari.com.au/RGJ4QHE.xml
在这个结果有下booking-多个领域的子集>字段的每一个与它自己的标签和值。我需要通过这些处理并将正确的字段值分配给正确的变量,并且我无法保证每次轮询API服务器时字段的顺序都是相同的。
我的想法,因为我写这会是这样的:
foreach($decoded->booking->fields->field as $field){
if($field->label == "Name of Hotel/Accommodation"){
$hotelname = $field->value;
}
elseif(){repeat for 2nd field name}
elseif(){repeat for 3rd field name}
elseif(){repeat for 4th field name}
}
基本上的foreach现场发现运行一系列的检查来查找匹配字段标签和匹配的变量。有没有更好的方法来做到这一点和/或上述代码的工作?
OP是否有性能问题?虽然'switch'语句没有错,但您的论证听起来很像[过早优化](http://c2.com/cgi/wiki?PrematureOptimization)。 – 2014-12-01 17:07:18