<?php$w = array (1, 2, 3, 17);foreach ( $w as $c )
{
fun( $c );
}function fun(&$a){
    $a++;}
print_r($w);?>
结果是:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 17 ) 
可应该是:Array ( [0] => 2 [1] => 3 [2] => 4 [3] => 18 )  啊
为什么没有变,请各位大侠赐教? 

解决方案 »

  1.   


    foreach($w as $c) {//是从数组中取值赋给变量$c
       fun( $c );//我想你改变的是$c,而不是$w数组的值
    }
      

  2.   

    咳 刚发完 自己已经知道错在哪里了,不过 还是多谢各位捧场。 
    正确写法是这样的<?php$w = array (1, 2, 3, 17);foreach ( $w as $key => $value )
    {
        fun( $w[$key] );
    }function fun(&$a){
        $a++;}
    print_r($w);?>