![](/img/trans.png)
[英]php multidimensional SplFixedArray declaration is throwing fatal error
[英]Multidimensional SplFixedArray
这是数组:
Array
(
[0] => Array
(
[ID] => 74
[coupon] => fCHzP
)
[1] => Array
(
[ID] => 74
[coupon] => WKHaY
)
)
...等等
这是使该数组每次动态(通过给定计数器)然后保存到db表中的代码:
for($i=0;$i < $this->counter;$i++){
$query_params[ ] = array('ID' => $this->ID , 'coupon' => make_random());
}
self::insert($query_params);
我试图编写一个代码,使用SplFixedArray制作多维数组,但我不能!
我已经尝试过此代码( before loop ),但是不起作用:
$query_params = new SplFixedArray($this->counter);
谢谢 !
这里的问题是$query_params[] = ...;
不适用于SplFixedArray
。 当您执行$query_params[] = ...;
,您要在最后一个元素之后添加元素。
使用SplFixedArray
count()
始终返回“固定”大小,因此,当您按下按钮时,您将尝试添加超出其范围的元素。
尝试这个:
$query_params = new SplFixedArray($this->counter);
for($i=0; $i < $this->counter; $i++){
$query_params[$query_params->key()] = array('ID' => $this->ID , 'coupon' => make_random());
$query_params->next();
}
或者,更好的是:
$query_params = new SplFixedArray($this->counter);
for($i=0; $i < $this->counter; $i++){
$query_params[$i] = array('ID' => $this->ID , 'coupon' => make_random());
}
创建数组的方式很好,如果您的数据库服务器接受这些行,Laravel将接受它,但是查看代码,我会看到一些奇怪的事情:
self::insert($query_params);
告诉我这是雄辩的榜样,还是我错了?
$this->counter
这个模型上面有一个计数器,所以这不是一个干净的模型...
array('ID' => $this->ID , 'coupon' => make_random());
您正在尝试self::insert
一次又一次self::insert
ID吗? 这对您的餐桌有用吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.