배열 a 자체가 다른 배열에 의해 참조됩니다. 이제 if 판단에서 배열 a를 배열 b에 할당하고 싶습니다. 하지만 단순히 값을 전달하고 싶습니다. 이를 수행하는 방법은 무엇입니까? if에서 b의 값만 변경하고 싶기 때문에 a의 값은 변경할 수 없다고 판단합니다
光阴似箭催人老,日月如移越少年。
예시를 작성해 보세요, 텍스트 설명이 좀 복잡한 것 같습니다
"if 판단에서 배열 a를 배열 b에 할당", 배열 a를 배열 b에 할당합니까, 아니면 배열 b를 배열 a에 할당합니까?
배열 a를 배열 b에 할당
배열 b를 배열 a에 할당
b=a를 직접 할당하면 됩니다. php에서는 앰퍼샌드가 없는 배열이 값으로 전달되므로 if에 b가 포함되어 있어도 마찬가지입니다. 가 변경되더라도 ab=a就好了,在php中数组不加&符号都是值传递,所以if里面就算b变化了,也不会影响a的值
b=a
php
if
a
b
不会跟着变,因为a是被引用赋值,这没问题,但是只要a对b是值传递,他们就不会存在引用关系,你没上代码,我根据你的需求试着模拟了一个比较简单的场景,你可以自己试着运行下:
<?php define('CLI_SCRIPT', true); $data = array(1, 2, 3, 4); foreach ($data as &$tmp) { $a = $tmp; if (in_array($a, [1, 2])) { $b = $a; $b = $b - 1; var_dump($a); var_dump($b); } }
你在$b=$a之前加一句unset($val) 값에는 영향을 미치지 않습니다.
$b=$a
unset($val)
예시를 작성해 보세요, 텍스트 설명이 좀 복잡한 것 같습니다
"if 판단에서 배열 a를 배열 b에 할당", 배열 a를 배열 b에 할당합니까, 아니면 배열 b를 배열 a에 할당합니까?
으아악배열 a를 배열 b에 할당
으아악배열 b를 배열 a에 할당
으아악b=a
를 직접 할당하면 됩니다.php
에서는 앰퍼샌드가 없는 배열이 값으로 전달되므로if
에 b가 포함되어 있어도 마찬가지입니다. 가 변경되더라도a
b=a
就好了,在php
中数组不加&符号都是值传递,所以if
里面就算b
变化了,也不会影响a
的值不会跟着变,因为a是被引用赋值,这没问题,但是只要a对b是值传递,他们就不会存在引用关系,你没上代码,我根据你的需求试着模拟了一个比较简单的场景,你可以自己试着运行下:
你在
a는 참조로 할당되므로 문제가 되지 않지만 a와 b가 값으로 전달되는 한 참조 관계가 없습니다. 코드를 읽지 않았습니다. 필요에 따라 비교를 시뮬레이션합니다. 간단한 시나리오로 직접 실행해 볼 수 있습니다. 🎜 으아아아 🎜$b=$a
之前加一句unset($val)
값에는 영향을 미치지 않습니다.$b=$a
앞에unset($val)
을 추가하세요.🎜