foreach与&引用的学习
来源:互联网 发布:关系数据库教程 编辑:程序博客网 时间:2024/05/22 08:06
在foreach中循环时
$arr = array(1, 2, 3, 4);foreach ($arr as &$value) { $value = $value * 2;}unset($value); // 最后取消掉引用 var_dump($arr); // $arr is now array(2, 4, 6, 8)
- 此时输出$arr为array(2, 4, 6, 8);
$arr = array(1, 2, 3, 4);foreach ($arr as $value) { $value = $value * 2;}unset($value); // 最后取消掉引用 var_dump($arr); // $arr is now array(1, 2, 3, 4)
- 此时输出$arr为array(1, 2, 3, 4);
进而衍生出不用额外的空间,对索引数组进行向前或向后移动一位的操作
<?phpclass move{ public function before1(){ $arr = array('a','b','c','d','e','f'); foreach ($arr as $key => $value) { if($key == 0){ $arr[(count($arr)-1)] = $value; } $value = &$arr[$key]; } print_r($arr); } public function before2() { $arr = array('a','b','c','d','e','f'); foreach ($arr as $key => $value) { if($key == 0){ $arr[count($arr) -1] = $arr[0]; } if($key-1>=0){ $arr[$key-1] = $value; } } print_r($arr); } public function ahter1(){ $arr = array('a','b','c','d','e','f'); foreach ($arr as $key => $value) { if($key+1>=count($arr)){ $arr[0] = $value; }else{ $arr[$key+1] = $value; } } print_r($arr); } public function ahter2() { $arr = array('a','b','c','d','e','f'); foreach ($arr as $key => $value) { if($key == 0){ $arr[0] = $arr[count($arr) -1]; } if($key+1<count($arr)){ $arr[$key+1] = $value; } } print_r($arr); } public function ahter3() { $arr = array('a','b','c','d','e','f'); foreach ($arr as $key => $value) { if($key == 0){ $arr[1] = $arr['0']; } if($key + 2 < count($arr)){ $value = &$arr[$key+2]; }else{ $value = &$arr[abs(count($arr)-$key-2)]; } } print_r($arr); }}$res = new move;$res->before1();echo '<hr>';$res->before2();echo '<hr>';$res->ahter1();echo '<hr>';$res->ahter2();echo '<hr>';$res->ahter3();
Array ( [0] => b [1] => c [2] => d [3] => e [4] => f [5] => a )
Array ( [0] => b [1] => c [2] => d [3] => e [4] => f [5] => a )
Array ( [0] => f [1] => a [2] => b [3] => c [4] => d [5] => e )
Array ( [0] => f [1] => a [2] => b [3] => c [4] => d [5] => e )
Array ( [0] => f [1] => a [2] => b [3] => c [4] => d [5] => e )
阅读全文
0 0
- foreach与&引用的学习
- PHP foreach与引用赋值
- php中foreach与引用的一个问题。。
- foreach之引用&的使用
- Foreach与Foreach-Object的性能区别
- 指针与引用的学习
- php foreach 使用&(与运算符)引用赋值要注意的问题
- perl的foreach赋值是引用
- PHP的引用和foreach循环
- 数组通过foreach引用的问题
- php foreach循环关于&引用的问题
- PHP foreach使用 &引用 的坑
- php中 foreach引用(&)的问题
- IQueryable与foreach的困惑?
- foreach的缺点与优点
- for 与foreach 的区别
- foreach与for的区别
- foreach 与 each的区别
- 线性表的实现及操作
- mysql重命名一个表
- RecyclerView列表九宫格瀑布流,多条目,SpringView实现上拉下拉刷新
- 递归小栗子
- 1002.A+B for Polynomials (两个多项式的解析与合并)
- foreach与&引用的学习
- 考试注意事项
- 使用js仿写jquery中$.ajax()方法
- Js实现倒计时功能
- android手机上的返回键和home键
- ++和--操作符分析
- 剑指offer(数据结构篇)
- osg之基本图元(二)
- 2017.11.8心得