PHP で * From my sql table を選択し、それを JSON に変換すると、結果は次のようになります。
([
{"id":"350","Name":"BlaBla","Info":"BlaBla"},
{"id":"351","Name":"BlaBla","Info":"BlaBla"},
{"id":"352","Name":"BlaBla","Info":"BlaBla"}
]);
上記のレコードの id に基づいて、クライアントの Web サイトから画像 (これはクライアントの要求です) をスクレイピングし、画像を同様の配列/辞書に出力し、JSON に出力します。
([
{"image1":"http://Sourceofimg.jpg"},
{"image2":"http://Sourceofimg.jpg"},
{"image3":"http://Sourceofimg.jpg"},
{"image4":"http://Sourceofimg.jpg"},
{"image5":"http://Sourceofimg.jpg"}
]);
では、ページをスクレイピングするとします。page.php?id=350
上記の画像配列と同様の出力が得られます。その結果を最初の配列に追加/追加するにはどうすればよいid=350
ですか?
編集
これは、配列を結合したい場所です。
while ($row = mysql_fetch_assoc($results))
{
$rows[] = $row;
$url = 'http://www.url.com/page.php?id='.$row['id'].'';
$html = file_get_html($url);
foreach($html->find('div.classvalue') as $element){
foreach($element->find('img') as $img){
$images[] = array("image".$i."" => $img->src);
$i = $i + 1;
$rows = array_merge($rows, $images);
} } }
私のバージョンは明らかに機能しません。既存の image[] に新しい画像を追加しているように見えるため、$rows[] の最後の要素は画像の完全なリストを取得します。画像をその ID に結び付けたいだけです。また、マージしても、正しくマージされません。たとえば、次のような出力が得られます。
([
{"id":"350","Name":"BlaBla","Info":"BlaBla"},
{"image1":"http://Sourceofimg.jpg"},
{"image2":"http://Sourceofimg.jpg"},
{"id":"351","Name":"BlaBla","Info":"BlaBla"}
]);
私はそれが好きです:
([
{"id":"350","Name":"BlaBla","Info":"BlaBla", "image1":"http://Sourceofimg.jpg", "image2":"http://Sourceofimg.jpg"} etc...
]);