php - 如何从“^”分隔列表中获取产品 ID?
问题描述
我有一个 '^' 分隔的产品 ID 号列表,我只需要获取产品 ID 号,然后用它来查询 SQL 数据库。产品 ID 号存储在 $_SESSION 散列中。例如:
SKUS: jpn18726^gr172645^123746^17246^eu186726^...
我能想到的代码是这样的:
$prodmat = $_SESSION["product"];
if(preg_match("(\d+)(^\s*\d+)*", $prodmat) {
$stmt = "select shipcode from materials where material='???'";
}
基本上,我想从 '^' 分隔列表中提取产品 ID 号,然后使用产品 ID 号查询数据库。
解决方案
做一些爆炸:
$prod_list = 'SKUS: jpn18726^gr172645^123746^17246^eu186726';
$list_parts = explode(':', $prod_list); // separate the text
$prods = explode('^', trim($list_parts[1])); // trim and put the list in an array
print_r($prods);
结果:
Array
(
[0] => jpn18726
[1] => gr172645
[2] => 123746
[3] => 17246
[4] => eu186726
)
现在您可以使用查询循环遍历数组。
foreach($prods as $product) {
$sql = "SELECT foo, bar, WHERE products WHERE id = ?";
// bind the current product
// do the query
}
推荐阅读
- gradle - 如何处理两个 gradle 插件的任务冲突?
- mysql - 获取一定间隔的数据?
- log4j - Hazelcast IMDG 3.12.5 添加 log4j 依赖以支持日志记录
- symfony - 如何在 webpack encore 中设置 config.node
- google-chrome - 在 WSL Ubuntu 上运行“google-chrome”作为 --headless --no 沙箱会产生多个错误 - 如何在 WSL 中使用无头截屏?
- c - 在计算文本文件程序的字符时出现未定义的行为?
- python - 两个张量之间的Pytorch差异
- lua - 使用lua更改属性名称的xml标记
- postgresql - 使用 AWS Aurora PostgreSQL 数据库集群连接到哪个终端节点进行读/写操作
- php - 按 SKU 数字对 WooCommerce 产品进行排序 (1.2.3.4.5.6.......)