【php】値渡し、参照渡しとか
値の値渡し
function set($arr) {
$arr[0] = 2;
}
$arr = [1];
set($arr);
print_r($arr); // => [1]値の参照渡し
function set(&$arr) {
$arr[0] = 2;
}
$arr = [1];
set($arr);
print_r($arr); // => [2]参照の値渡し
function set($obj) {
$obj->pro = 2;
}
$obj = new Obj;
$obj->pro = 1;
set($obj);
print_r($obj); // => $pro = 2参照の値渡し2
function set($obj) {
$obj = new Obj;
$obj->pro = 2;
}
$obj = new Obj;
$obj->pro = 1;
set($obj);
print_r($obj); // => $pro = 1参照の参照渡し
function set(&$obj) {
$obj->pro = 2;
}
$obj = new Obj;
$obj->pro = 1;
set($obj);
print_r($obj); // => $pro = 2参照の参照渡し2
function set(&$obj) {
$obj = new Obj;
$obj->pro = 2;
}
$obj = new Obj;
$obj->pro = 1;
set($obj);
print_r($obj); // => $pro = 2