foreach加循环体与不加循环体的区别

案例A(不加{}):

<?php
function genTree5($items) {

    foreach ($items as $item)
     echo $item['id'];die;
        $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
    return isset($items[0]['son']) ? $items[0]['son'] : array();
}
?>

案例B(加{}):

<?php
function genTree5($items) {

foreach ($items as $item){
echo $item['id'];die;
$items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
}
return isset($items[0]['son']) ? $items[0]['son'] : array();
}
?>

结果:

A会循环输出数组结果结束;B只输出一次结果。

结论:

foreach不加{}时,循环内容只执行foreach下一行的内容,以“;”为结束标志,加{}时,执行大括号循环体里面所有内容。

猜你喜欢

转载自www.cnblogs.com/jingxiaoniu/p/9084234.html