PHP循環体は配列に値を与える
4021 ワード
ループボディで配列に値を割り当てる
一:配列を初期化せず、直接値を割り当てる
二:配列を初期化してから値を割り当てる
比較によると、方式1では、ループ体では配列を初期化せず、
方式2,ループのたびに配列初期化操作を行い,配列内容が空であることを確保する
一:配列を初期化せず、直接値を割り当てる
$list = [1, 2, 3];
foreach ($list as $value) {
if($value != 2){
$data[0] = $value ;
}
var_dump($data) ;
}
/**
array(1) {
[0]=>int(1)
}
array(1) {
[0]=>int(1)
}
array(1) {
[0]=>int(3)
}
*/
二:配列を初期化してから値を割り当てる
$list = [1, 2, 3];
foreach ($list as $value) {
//
$data = [] ;
if($value != 2){
$data[0] = $value ;
}
var_dump($data) ;
}
/**
array(1) {
[0]=>int(1)
}
array(0) {
}
array(1) {
[0]=>int(3)
}
[Finished in 0.1s]
*/
比較によると、方式1では、ループ体では配列を初期化せず、
$value==2
でエラーの内容が得られた場合、ループ中に$dataが同じオブジェクトを指し、次回のループでは新しいオブジェクトは作成されない方式2,ループのたびに配列初期化操作を行い,配列内容が空であることを確保する