首页 > 代码库 > Case learning

Case learning

bad case:

<?php

foreach($user_detail AS $val) {
    if(!empty($val->portrait)) { //如果这个循环从来没有到达过
        $portrait[] = $val->portrait;
    }
}
#此时,$portrait为NULL,而不是Array。

//下面的结果一定是NULL,不论$image_ids是什么。
$image_ids = array_merge($image_ids, $portrait);

good case:

<?php

$portrait = array(); //作声明
foreach($user_detail AS $val) {
    if(!empty($val->portrait)) { //如果这个循环从来没有到达过
        $portrait[] = $val->portrait;
    }
}

#此时,$portrait为Array,而不是NULL。

//下面函数的结果是正确的。
$image_ids = array_merge($image_ids, $portrait);


结论:PHP变量在使用前最好进行声明,即使PHP是弱类型的。

Case learning