以编程方式构造数组

时间:2015-03-24 00:07:18

标签: php arrays class

我正在编写一个使用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,我仍然不太了解构造函数,并认为这可能是学习如何正确执行此操作的绝佳机会。

我不确定类是否是正确的选择,因为我需要稍后将产品本身提取到产品包类中。

0 个答案:

没有答案