Php 向循环内的数组添加值

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($

当我映射一个数组中包含的页面上的所有链接时,我想检查是否每个链接都插入到该数组中,如果没有,则插入它

我试图使用下面的代码但没有成功,因为“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($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中的新值。