I’m not sure if I ever knew this before, but the PHP break
statement has an optional argument that declares how many levels to break out of, eg break 2
. For instance, in the following example, the break will break out of both loops when the sub-item is found:
$theSubItem = null;
foreach(getItems() as $item){
foreach($item->getSubItems() as $subItem){
if($subItem->isTheSubItem()){
$theSubItem = $subItem;
break 2;
}
}
}
var_dump($theSubItem);
ensuring that we won’t loop through any extra items or sub-items.