本文实例讲述了PHP实现函数内修改外部变量值的方法。分享给大家供大家参考,具体如下:
直接上代码,如下:
$a_str = 'ab'; function change_val(){ global $a_str; // 通过设置全局变量,修改变量值 //$a_str = 'abc'; $a_str = $a_str.'abc'; } echo $a_str."<br>"; change_val(); echo $a_str."<br>"; echo str_repeat('#',20)."<br>"; $b_str = 'ab'; function change_val_1($s){ $s = 'abc'; //$s = $s.'abc'; return $s; // 通过返回值,修改变量值 } echo $b_str."<br>"; $b_str = change_val_1($b_str); echo $b_str."<br>"; echo str_repeat('#',20)."<br>"; $c_str = 'ab'; function change_val_2(&$c_str){//引用调用 //$c_str = 'abc'; $c_str = $c_str.'abc'; } echo $c_str."<br>"; change_val_2($c_str); echo $c_str."<br>";
运行结果:
ab
ababc
####################
ab
abc
####################
ab
ababc
总结:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP数组(Array)操作技巧大全》
希望本文所述对大家PHP程序设计有所帮助。
为什么<code>test
我正在尝试理解下面的QuickSort实现在Java中是如何工作的。我已经了解了大部分,但我很困惑它是如何做任何事情的。当您将变量传递给函数并对其进行修改时,它通常不会修改传入的原始变量。那么为什么这种没有返回类型的快速排序实现会修改传入的数组呢?
问题内容: function parts($part) { $structure = ‘http://’ . $site_url . ‘content/’; echo($tructure . $part . ‘.php’); } 该函数使用在页面顶部定义的变量,但是此变量未传递到该函数中。 我们如何使它返回到函数中? 问题答案: 添加第二个参数 您需要将其他参数传递给函数: 如果关闭 如果您希望使
问题内容: 修改中的局部变量会产生编译错误: 正常 与Lambda 任何想法如何解决这个问题? 问题答案: 任何一种包装纸都是好的。 对于 Java 8+ ,请使用: …或数组: 使用 Java 10+ : 注意: 如果使用并行流, 请 非常小心。您可能无法获得预期的结果。诸如Stuart的其他解决方案可能更适合这些情况。 对于除 当然,这对于之外的其他类型仍然有效。您只需要将包装类型更改为或该类
在中修改局部变量会导致编译错误: 典型的 和Lambda 你知道怎么解决这个问题吗?