Heim > Backend-Entwicklung > PHP-Tutorial > php使用foreach循环遍历数组,循环内执行成功了,循环外却不成功?

php使用foreach循环遍历数组,循环内执行成功了,循环外却不成功?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:06:08
Original
1150 Leute haben es durchsucht

<code>            foreach($arr as $value){
                $value=preg_replace("/href=\"\//i",'href="'.$link,$value);
                echo $value."";//此处$value为替换之后的值。
            }
            echo $arr[1];//此处显示的仍为替换前$arr[1]的值。

//请问这个是怎么回事呢?
``</code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

<code>            foreach($arr as $value){
                $value=preg_replace("/href=\"\//i",'href="'.$link,$value);
                echo $value."";//此处$value为替换之后的值。
            }
            echo $arr[1];//此处显示的仍为替换前$arr[1]的值。

//请问这个是怎么回事呢?
``</code>
Nach dem Login kopieren
Nach dem Login kopieren

<code class="php">foreach($arr as &$value){
    $value=preg_replace("/href=\"\//i",'href="'.$link,$value);
    echo $value."";//此处$value为替换之后的值。
}
echo $arr[1];//此处显示的仍为替换前$arr[1]的值。</code>
Nach dem Login kopieren

由于变量作用域的原因,如果你在里面修改了值,且需要保存结果,需要将类型定义为引用类型,即&

改成这样

<code>        foreach($arr as $key=>$value){
            $arr[$key]=preg_replace("/href=\"\//i",'href="'.$link,$value);
            echo $arr[$key]."";//此处$value为替换之后的值。
        }
        </code>
Nach dem Login kopieren

你只是对在循环体内对局部变量$value做了个replace操作,并没有把value还给$arr.

<code>foreach($arr as $key => $value){
    $value=preg_replace("/href=\"\//i",'href="'.$link,$value);
    $arr[$key] = $value;
    echo $value."";//此处$value为替换之后的值。
}
echo $arr[1];//此处显示的仍为替换前$arr[1]的值。</code>
Nach dem Login kopieren

先弄清楚,按值传递和按引用传递吧

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage