You can just do ... instead of looping through the array and creating new one
PHP Code:
protected function defineItems()
{
$items = parent::defineItems();
foreach ($items as $aItem) {
if ($aItem['label'] == static::t('Blog')) {
unset($items[$aItem]);
break;
}
}
// if the array is just a contiguous numeric array you
// may want to renumber it before the return
// array_values($array)
return $items;
}