我想要一个函数,它将一个数组作为输入并更改数组的某些值(在我的情况下,数组是$_SESSION,但我认为它不是真正的maters).
我怎样才能做到这一点?
听起来很简单.但它不是.我只是想为数组设置一些值.例如,我希望我的函数更改$_SESSION [‘x’]和$_SESSION [‘y’].据我所知,如果我传递一个数组作为参数,那么参数的任何更改都不会修改原始数组.例如:
function change_array($x) { $x[0] = 100; } $x = array(1,2,3); change_array($x);
它不会改变$x.
添加2
为什么我的问题被低估了?我认为这个问题不是那么微不足道,因为它很短.我也认为我给了所有相关细节.据我所知(感谢一个答案)它是关于“传递参考”.此外,我想修改$_SEESION数组的事实使它有所不同.
你的意思是什么意思:
Passing by Reference
它非常简单的喜欢
function changearray(&$arr){ $arr['x'] = 'y'; }
你可以这样称呼:
changearray($_SESSION);