PHP - 数组在foreach循环外变空

时间:2014-11-24 06:17:56

标签: php arrays opencart

您好我在opencart中有以下代码(负责在结帐步骤中显示付款选项 - 4),

$method_data = array();

    $results = $this->model_setting_extension->getExtensions('payment');

                  foreach ($results as $result) {
                        if ($this->config->get($result['code'] . '_status')) {
                            $this->load->model('payment/' . $result['code']);

                            $method = $this->{'model_payment_' . $result['code']}->getMethod($payment_address, $total);

                            if ($method) {
                                $method_data[$result['code']] = $method;
                            }
                        }       
                       print_r($method_data); // Getting dump of data's
                    }   


             print_r($method_data); // Empty Array

我已经检查过这个问题的所有可能组合,例如,

  • 没有其他同名变量($ method_data),
  • Foreach循环执行4次(有4个可用的付款选项)。

有没有人知道这个问题背后发生了什么。

1 个答案:

答案 0 :(得分:0)

请再次使用以下代码检查:

 if ($method) {
                   $method_data[][$result['code']] = $method;
              }

它将使数组成为二维的。 如果您需要任何帮助,请检查并告诉我。

注意:似乎CI中的代码。