我正在编写一个使用API中的XML文档的PHP Web应用程序。我必须从返回的XML数据构建许多产品。
我现在正在做的是使用xpath和循环将所有对象拉入子数组数组。然后我遍历数组数组并将特定数组拉入自己的命名数组。有没有办法用函数或类构造函数来做到这一点?
我当前的代码看起来像这样:
if ( $products_results_list[$key]["sChgDesc"] == "Small Box" ) {
$small_box = array(
"ChargeDescID" => $products_results_list[$key]["ChargeDescID"],
"sChgDesc" => $products_results_list[$key]["sChgDesc"],
"dcPrice" => $products_results_list[$key]["dcPrice"],
"dcTax1Rate" => ".0" . $products_results_list[$key]["dcTax1Rate"],
"dcInStock" => $products_results_list[$key]["dcInStock"],
);
}
在写了上述if语句大约8次之后,需要更多次,我认为必须有一个更好的做法,而不仅仅是写出来。
我想做类似的事情:
product_constructor($argument, $product_name) {
if ( $arguement ) {
$product_name = array(
"ChargeDescID" => $products_results_list[$key]["ChargeDescID"],
"sChgDesc" => $products_results_list[$key]["sChgDesc"],
"dcPrice" => $products_results_list[$key]["dcPrice"],
"dcTax1Rate" => ".0" . $products_results_list[$key]["dcTax1Rate"],
"dcInStock" => $products_results_list[$key]["dcInStock"],
);
}
然后根据需要调用函数或构造函数,如:
product_constructor( '$products_results_list[$key]["sChgDesc"] == "Small Box"', '$small_box');
我实际上尝试了上面的代码,但是却抛出了错误。尽管每天使用PHP,我仍然不太了解构造函数,并认为这可能是学习如何正确执行此操作的绝佳机会。
我不确定类是否是正确的选择,因为我需要稍后将产品本身提取到产品包类中。