问题是当我添加超过624个贴纸时。
当贴纸小于624时,该代码可以正常工作。似乎不允许添加更多贴纸。
我似乎遇到了一个无法修复的奇怪错误。
我一直收到的错误是:未定义的偏移量:624
这就是我所拥有的:
php:
//product names
for ($x = 0; $x < $counter; $x++) {
$product[] = $_POST["product_name"][$x];
$product_price[] = preg_replace('/\s+/', '', $_POST["product_price"][$x]);
$product_barcode[] = preg_replace('/\s+/', '', $_POST["product_barcode"][$x]);
$product_stickers[] = preg_replace('/\s+/', '', $_POST["product_stickers"][$x]);
$vendor_code[] = $result = $this->getUsername($user_id, $x);
}
$result = array();
$values = array($product, $product_price, $product_barcode, $vendor_code, $product_stickers);
//$values = array($product, $product_price, $product_barcode, $vendor_code);
foreach ($products as $index => $key) {
$t = array();
foreach ($values as $value) {
$t[] = $value[$index];
}
$result[$key] = $t;
}
$products_json = json_encode($result);
html:
@for($x = 0; $x <= 650; $x++)
<tr>
<td><input type="text" name="product_name[]" class="product_name"
value="{{$x}}"></td>
<td><input type="text" name="product_price[]" class="product_price"
value="{{$x}}"></td>
<td><input type="text" name="product_barcode[]"
class="product_barcode"
value="{{$x}}"></td>
<td><input type="text" name="product_stickers[]"
class="product_stickers"
value="{{$x}}"></td>
<td><a role="button" style="color:#fff" class="delRowBtn btn btn-
warning">Remove</a>
</td>
</tr>
@endfor
我不确定为什么不能添加624个以上的贴纸 请帮忙!
答案 0 :(得分:2)
可能是您正在发布更多数据,然后在php.ini
中允许使用,例如。增加post_max_size
和max_input_vars
这将解决我猜到的问题。
答案 1 :(得分:0)
可能是您正在发布更多数据,然后在php.ini中允许了该数据。如果您确定代码中的所有内容,请增加post_max_size和max_input_vars ..
始终在使用变量之前检查其是否存在,尤其是在动态数组中时。 可能的问题: 1.索引从1开始,循环从0开始 2.在分配对象之前获取对象。 但是,
$product[] = $_POST["product_name"][$x] ?? null;
或
$product[] = (!empty($_POST["product_name"][$x])) ? $_POST["product_name"][$x] : null;
使用前请放入条件。生成动态键的所有位置,以消除数组错误。