我有以下代码:
$urls = file_get_contents('https://www.google.com/#q=test');
preg_match_all('/\b(?:(?:https?|http):\/\/|www\.)[-a-z]*.com/i', $urls, $content);
$i = 10;
while ( $i <= 50 ) {
$i+= 10;
$urls2 = file_get_contents('https://www.google.com/#q=test&start=".$i."'); // pagination Google search Results
preg_match_all('/\b(?:(?:https?|http):\/\/|www\.)[-a-z]*.com/i', $urls2, $contentLoop);
$totalArray = array_push($content,$contentLoop);
}
print_r($totalArray);
这只打印6号
同时,如何在单个数组中添加多个数组?
我尝试使用函数array_push,但到目前为止没有成功
答案 0 :(得分:0)
Array_push用于仅将一个元素推送到数组的末尾。您可以在这里使用两种可能的解决方案之一(两者都将您的数据保存到$ content数组中):
使用array_merge。
array_merge($content,$contentLoop);
循环$ contentLoop。
foreach($contentLoop as $item){
array_push($content,$item);
}
答案 1 :(得分:0)
如果您想将两个arrays
合并为一个,那么您可以使用
array_merge
- 合并一个或多个数组。
e.g。
<?php
$totalArray = array_merge($content,$contentLoop);
print_r($totalArray);
?>
点击官方文档:
答案 2 :(得分:0)
您似乎正试图抓取Google搜索结果。刮痧违反了Google的服务条款。谷歌有一个网络搜索API,但它在2014年停止使用。谷歌现在提供自定义搜索API。 What are the alternatives now that the Google web search API has been deprecated?