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

查看:120
本文介绍了php使用foreach循环遍历数组,循环内执行成功了,循环外却不成功?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

//请问这个是怎么回事呢?
``

解决方案

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

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

这篇关于php使用foreach循环遍历数组,循环内执行成功了,循环外却不成功?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆