我试图在代码点火器中插入批量查询,我无法使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( )
答案 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) ;