Php 向循环内的数组添加值
当我映射一个数组中包含的页面上的所有链接时,我想检查是否每个链接都插入到该数组中,如果没有,则插入它 我试图使用下面的代码但没有成功,因为“foreach$arr”不会在新值中传递Php 向循环内的数组添加值,php,arrays,foreach,Php,Arrays,Foreach,当我映射一个数组中包含的页面上的所有链接时,我想检查是否每个链接都插入到该数组中,如果没有,则插入它 我试图使用下面的代码但没有成功,因为“foreach$arr”不会在新值中传递 include_once('simple_html_dom/simple_html_dom.php'); $arr = array('http://www.domain.com'); foreach ($arr as $key => &$item) { $html = file_get_html($
include_once('simple_html_dom/simple_html_dom.php');
$arr = array('http://www.domain.com');
foreach ($arr as $key => &$item) {
$html = file_get_html($item);
// Find category links
foreach($html->find('a[href^=http://www.domain.com/dep/]') as $element) {
if (!in_array($element->href, $arr))
$arr[] = $element->href;
}
}
print_r($arr);
重要提示:我需要在原始数组中搜索并添加值,而不是在副本(foreach)中
在foreach($arr as$key=>和$item){
中,每个$item
都是一个字符串(警告您)。因此,您不应该在此处使用$item[]
下一个陷阱:如果您想向$arr
数组中添加新项,则应使用symtax
$arr[] = $some_var;
但您不应该这样做,因为每次您向$arr
添加项目时,该数组都会增加,并且您迭代的数组不是两个元素,而是例如3个元素或4个元素。您希望这样吗
您应该找到新的值,将它们放在其他数组中,然后合并这两个数组。
或者使用@splash58解决方案。它更简单。您预期的结果是什么?请删除“&”来自foreachHi!我对问题进行了更具体的编辑。谢谢!您想添加到数组中不在数组中的href值,对吗?没错。但同时我正在使用它查找新的href值。没错。@splash58代码的问题是foreach$arr不会经过插入到$arr中的新值。