php - 如何将数字数组与字符串数组匹配
问题描述
我有两个数组,$A 是 product_id 数组,$B 是图像文件名数组。
例子:
$a = array("654345","665456","566676");
$b = array("filename_654345.jpg", "filename-file_566676.jpg");
我如何遍历数组 $a 中的每个值并从数组 $b 中找到相同的值附加到它。
目标是有一个类似解决方案的表格,其中产品 id 和文件名包含相同的 id。
例子:
566676 - 文件名-file_566676.jpg
654345 - 文件名_654345.jpg
ETC...
解决方案
使用 foreach 遍历图像名称数组并使用 preg_replace() 获取数字,然后循环遍历 id 的数组以检查数字是否存在
$array_result=[];
foreach($names as $name){
$x= preg_replace("/[^0-9]/", '', $name);
if(in_array($x,$ids)){
array_push($array_result,[$x,$name]);
}
}
推荐阅读
- python - 动态创建类时出现 Python 错误
- filesystems - 使用 squashfs 图像文件作为 rootfs
- java - 下载源代码后,为什么会在堆栈跟踪中看到未知源?
- performance - `now` 在 1000 万次迭代循环中变慢
- php - 在纯 php 上的电报机器人中使用回调查询在行中处理用户消息输入
- python - 另一个文件中的 Tkinter 按钮事件绑定
- security - 安全地签署数据以确保它是在特定时间段内生成的(客户端)
- python - 将一列中的唯一值设置为多列
- awk - 如何在awk中为变量着色
- python - 如何创建一个 if 语句来检查输入是否为 str/int