PHPを使用して配列を操作すると、問題が発生しました。
これはどのように作動しますか?
理由を知りたい!
そして、「unset」を使用しない場合、このコードは機能することがわかりました。そして、私はグーグルしますが、答えが得られません!だからお願いします!
PHPでPassingbyReferenceを使用すると、失敗します。
ありがとう!
<?php
$arr = array('a','b','c','d',array(1,2,3,4,5));
var_dump($arr);
foreach($arr as &$value){
if($value == 'c'){
unset($value);
}
if(is_array($value)){
foreach ($value as $key => &$v) {
if($v == 2){
unset($v);
}
}
}
}
var_dump($arr);
?>
これは結果です:
array (size=5)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
4 =>
array (size=5)
0 => int 1
1 => int 2
2 => int 3
3 => int 4
4 => int 5
array (size=5)
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
4 => &
array (size=5)
0 => int 1
1 => int 2
2 => int 3
3 => int 4
4 => &int 5