无法使用array_merge

时间:2017-09-09 16:27:41

标签: php codeigniter

我试图在代码点火器中插入批量查询,我无法使array_merge工作。不知道这个问题是什么。 M得到空白数组。

        $epin_amt = $this->input->post('amount');
            $qty = $this->input->post('qty');
            $data = array();
            for ($i = 0; $i <= $qty; $i++) {
                $array = array(
                    'epin'   => mt_rand(100000, 999999),
                    'amount' => $epin_amt,
                );
             array_merge($data, $array);
            }
print_r($data) ; // Produce : array( )

3 个答案:

答案 0 :(得分:2)

您必须将合并后的数组分配回$ data变量:

<?php

$epin_amt = /*$this->input->post('amount')*/ 5;
$qty = /*$this->input->post('qty')*/6;

$data = array();
for ($i = 0; $i <= $qty; $i++) {
    $array = array(
        'epin'   => mt_rand(100000, 999999),
        'amount' => $epin_amt,
    );
 $data = array_merge($data, $array);
}

print_r($data) ;

答案 1 :(得分:2)

array_merge返回array。你需要这样的东西:

$result = array_merge($data, $array);

答案 2 :(得分:0)

您正在合并数组,但它不是通过引用完成的,因此您将抛出生成的数组。相反,array_push()会继续将数组添加到$data数组中:

<?php
$epin_amt = 10;
$qty = 20;
$data = array();
for ($i = 0; $i <= $qty; $i++) {
    $array = array(
        'epin'   => mt_rand(100000, 999999),
        'amount' => $epin_amt,
    );
 array_push($data, $array);
}
print_r($data) ;