php - 在数组上使用 json_encoding
问题描述
在将数组插入数据库之前,我需要在数组上使用 json_encode。所以我的数组包含 9 个照片链接。插入数据库照片链接的正确方法是逐行。但是当我尝试开始插入它时。所有九个链接都排成一排,并且一直如此。1排9个链接,1排9个链接。而且我不知道是什么问题。
这是代码
$rota = new \DOMXPath($parser);
$images = $rota->query("//div[@class='areapageDetail']//div[@class='areapageDetailList_item_img']//img");
foreach ($images as $image) {
$photos[] = $image->getAttribute("src");
}
这是包含数组的照片 url。
我插入的方式就在下面。
foreach ($outlineUrl as $results) {
if (strpos($results, 'http://www.daikyo.co.jp/') === 0) {
$html = file_get_contents($results);
$DOMParser = new \DOMDocument();
$DOMParser->loadHTML($html);
$changeForMyDB = [
'region' => '関西',
'photo' => json_encode($photos),
'link' => json_encode($results),
'building_name' => '',
'price' => '',
'old_price' => '',
'extend' => '',
'address' => '',
'total_house' => '',
'rooms' => '',
'cons_finish' => '',
'entry' => '',
'balcony' => '',
'company_name' => '',
];
这是代码的一部分。例如$results
也是包含网站链接的数组。这没有问题。我可以逐行插入 $results 数组链接。但不是照片链接。为什么仅针对照片链接会发生这种情况?
解决方案
在这种情况下,您还必须为每张照片编制索引
$i = 0;
foreach ($outlineUrl as $results) {
if (strpos($results, 'http://www.daikyo.co.jp/') === 0) {
$html = file_get_contents($results);
$DOMParser = new \DOMDocument();
$DOMParser->loadHTML($html);
$changeForMyDB = [
'region' => '関西',
'photo' => json_encode($photos[$i]),
'link' => json_encode($results),
'building_name' => '',
'price' => '',
'old_price' => '',
'extend' => '',
'address' => '',
'total_house' => '',
'rooms' => '',
'cons_finish' => '',
'entry' => '',
'balcony' => '',
'company_name' => '',
];
}
$i++;
}
您还必须确保照片数量与您的 outlineurl 数组相匹配。
推荐阅读
- python - 在 Django 中为权限和角色创建自定义模型
- python - 混淆矩阵错误“列表”对象没有属性“argmax”
- flutter - 一个月有多少个星期,其中有 X 个工作日?
- arrays - MongoDB - 查找嵌套文档列表具有多个值大于 0 的字段
- javascript - Array.map() 的异步回调
- ios - 如何通过多按钮选择快速获取表格视图数据?
- kotlin - 使用@Relation 从房间数据库中一次选择 3 个实体
- arrays - 如何在 MIPS 中计算数组的模式
- python - 如何使用 python 和 pandas 将列数总数(总和)除以美元金额?
- c# - 请帮我处理我的游戏 我的游戏有问题