在数组上使用json_encoding

时间:2018-11-05 01:17:14

标签: php laravel laravel-5

在将其插入数据库之前,我需要在数组上使用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");
        }

这是代码的一部分。例如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数组链接。但没有照片链接。为什么仅针对照片链接会发生这种情况?

1 个答案:

答案 0 :(得分:2)

在这种情况下,您还必须为每张照片建立索引

$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数组匹配。