배열 a 자체가 다른 배열에 의해 참조됩니다. 이제 if 판단에서 배열 a를 배열 b에 할당하고 싶습니다. 하지만 단순히 값을 전달하고 싶습니다. 이를 수행하는 방법은 무엇입니까? if에서 b의 값만 변경하고 싶기 때문에 a의 값은 변경할 수 없다고 판단합니다
曾经蜡笔没有小新2017-05-18 10:47:59
"if 판단에서 배열 a를 배열 b에 할당", 배열 a를 배열 b에 할당합니까, 아니면 배열 b를 배열 a에 할당합니까?
으아악배열 a를 배열 b에 할당
으아악배열 b를 배열 a에 할당
으아악过去多啦不再A梦2017-05-18 10:47:59
b=a
를 직접 할당하면 됩니다. php
에서는 앰퍼샌드가 없는 배열이 값으로 전달되므로 if
에 < If code>b가 포함되어 있어도 마찬가지입니다. 가 변경되더라도 a
b=a
就好了,在php
中数组不加&符号都是值传递,所以if
里面就算b
变化了,也不会影响a
的值
不会跟着变,因为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)
을 추가하세요.🎜