PHP中的一个”坑“,PHP"坑"_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP中的一个”坑“,PHP"坑"_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1795字,纯文字阅读大概需要3分钟。
内容图文
PHP中的一个”坑“,PHP"坑"
说一个极有可能在工作中遇到的问题——foreach的引用
$arr = range(1,3); //[1,2,3] foreach($arr as &$val) { } foreach($arr as $val) { } print_r($arr);
上面这段代码输出什么呢,神奇的竟然是下面这样,这个我在工作中遇到过一次,当时弄了半天没弄出个所以然,只是找到了解决办法,这个问题解决办法有两个:
Array ( [0] => 1 [1] => 2 [2] => 2 )
下面这两种方式都可以解决上面这个问题:
//方法1 foreach ($arr as &$value) { } unset($value); foreach ($arr as $value) { } print_r($arr); //[1,2,3] //方法2 foreach ($arr as &$value) { } foreach ($arr as $val) { } print_r($arr); //[1,2,3] //方法3 foreach ($arr as &$value) { } foreach ($arr as &$value) { } print_r($arr); //[1,2,3]
方法1在官方的手册中也可以看到http://php.com/manual/en/control-structures.foreach.php,文章中专门有个tips提示这一点$var = 123; $tmp = &$var; $tmp = 200; echo $var; //200
看看下面这张盗来的图(哈哈,原文链接贴在下面),对上面这个更好的理解
php $arr1 = array("a" => 1, "b" => 2, "c" => 3); $arr2 = array("x" => 4, "y" => 5, "z" => 6); foreach ($arr1 as $key => &$val) {} foreach ($arr2 as $key => $val) {} var_dump($arr1); var_dump($arr2); ?> The output is: array(3) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> &int(6) } array(3) { ["x"]=> int(4) ["y"]=> int(5) ["z"]=> int(6) }
参考文章:
http://www.cnblogs.com/CraryPrimitiveMan/p/4030748.html#3085766
http://www.gxlcms.com/article/39299.htm
本文版权归作者iforever(luluyrt@163.com)所有,未经作者本人同意禁止任何形式的转载,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
http://www.bkjia.com/PHPjc/975062.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/975062.htmlTechArticlePHP中的一个”坑“,PHP"坑" 说一个极有可能在工作中遇到的问题foreach的引用 $arr = range (1,3 ); // [1,2,3] foreach ( $arr as $val ) {} foreach ( $arr as $...
内容总结
以上是互联网集市为您收集整理的PHP中的一个”坑“,PHP"坑"_PHP教程全部内容,希望文章能够帮你解决PHP中的一个”坑“,PHP"坑"_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。