了解PHP功能

时间:2016-10-04 07:09:05

标签: php function

我有一个数组,让我们调用$ x,所以

    $x = array(
               'a'=> 1,
               'b'=> 2,
               'c'=> 3
              );

我想替换c的假设值,所以我可以通过

来实现
$x[c] = 4;

它的作品,但如果我想用函数做,我可以写一个函数

function changevalue ($a, $k, $v) {
    $a[$k] = $v;
    return $a;
}

然后使用此函数更改值

changevalue($x, 'c', 4);

它不起作用,但如果我将它设置为等于$ x

$x = changevalue($x, 'c', 4);

它有效。我的问题是为什么我需要将函数设置为等于数组。我是PHP的新手,如果有人解释,它会非常有帮助。 Thanx提前。 :)

1 个答案:

答案 0 :(得分:2)

您按值传递$x。您可以尝试通过引用传递它,通过执行此操作(添加& 符号):

function changevalue (&$a, $k, $v) {
                      ^
    $a[$k] = $v;
    return $a; // This is not necessary if you are passing by reference
}