PHP:在foreach循环中不保存的值

时间:2013-02-09 21:27:01

标签: php foreach

PHP代码:

$file = file_get_contents('example.com/index/');
$array = array();
preg_match_all('!href=\\"(/img/[0-9]+.jpg)\\"!u', $file, $array);
$results = array_unique($array[1]);

foreach ( $results as $value ) {
    $value = 'imgaes.example.com/' . $value;
    echo "$value\n"; // imgaes.example.com/838.jpg
}

var_dump($results); // 838.jpg

错误在哪里?我试着做一点抓取器。我认为它的所有细节。

2 个答案:

答案 0 :(得分:4)

通过引用分配值:

foreach ( $results as &$value ){
  ...
}

unset($value);

答案 1 :(得分:1)

foreach ( $results as $key => $value ) {
    $results[$key] = 'imgaes.example.com' . $value;
    echo "$value\n"; // imgaes.example.com/img/838.jpg
}

var_dump($results);