php - 如何将两个输入组合成一个数组php
问题描述
我有一个包含相同数量输入名称和产品 ID 输入名称的多个产品的 css 表。每个 ID 和 Quantity 都将是不同的值
他们看起来像这样
<input type="number" name="quantity" value="0">
<input type="hidden" name="prod_id" value="<?php echo $product_id; ?>">
我的问题是如何将两个值都推入看起来像这样的数组/字符串中
$product_ids = '150:2,152:4';
先是产品编号,然后是数量编号:
解决方案
正如@UlyssesMarx 在评论中所说,您应该修改 HTML 输入字段的结构以支持多个数量输入。
<input type="number" name="quantity[<?php echo $product_id; ?>]" value="0">
在这种情况下,您不需要产品 ID 的隐藏输入字段,因为它将存储在数量字段的名称中。
在后端,您可以通过 PHP 解析这些数据。
$quantities = $_POST['quantity']; //make sure to sanitize and validate!
foreach( $quantities as $product_id => $qty ) {
//do whatever you would like with this data
}
如果您仍然想要您指定的字符串中的数据,一种方法是:
$quantities = $_POST['quantity']; //make sure to sanitize and validate!
$data = []; //empty array to hold restructured data
foreach( $quantities as $product_id => $qty ) {
$data[] = $product_id . ":" . $qty;
}
//now combine the array
$string = implode( ',', $data );
echo $string;
推荐阅读
- sql - 如何改进我在 SQL Server 中的更新语句
- php - 正则表达式之谜。想要结果:'onetwothree'、'onetwo'、'twothree' 但不是'two'。积极的前瞻也许?用于货币提取
- python - Python ET.parse XML FileNotFoundError: [Errno 2] 没有这样的文件或目录: ' \r\n
- r - 遍历 data.frame 的行并将它们用作函数的输入
- vue.js - 使用 vuejs 将数据变量从子级发送到父级
- c++ - C++ 字符串字面量在哪里分配?堆栈还是堆?
- sql - 如何创建候选键
- android - 在 Android Studio 中使用 Kotlin 从 MongoDB 集合中查找最新文档?
- excel - Excel 中“IF”公式中第一个条件的 #NAME 错误
- flask - 如何在没有 Flask 应用程序的情况下独立使用 Flask 的 render_template()