Con una clase estática
Con un include
Para ello me he decidido a hacer pruebas de velocidad y sorprendentemente es más rápido con la clase estática.
¿Alguién sabe por qué?
Fichero newfile.php
Código PHP:
<ul>
<li><a>a</a></li>
<li><a>b</a></li>
<li><a>c</a></li>
<li><a>d</a></li>
<li><a>e</a></li>
<li><a>f</a></li>
</ul>
<ul>
<li><a>a</a></li>
<li><a>b</a></li>
<li><a>c</a></li>
</ul>
<ul>
<li><a>a</a></li>
<li><a>b</a></li>
<li><a>c</a></li>
<li><a>d</a></li>
</ul>
<ul>
<li><a>a</a></li>
<li><a>b</a></li>
<li><a>c</a></li>
<li><a>d</a></li>
</ul>
<ul>
<li><a>a</a></li>
<li><a>b</a></li>
</ul>
Código PHP:
class Menu
{
public static $ArrayMenu= array(1=>array( 'nombre'=>'1',
'carpeta'=>'1',
'sub'=>array('a','b','c','d','e','f')),
2=>array( 'nombre'=>'2',
'carpeta'=>'2',
'sub'=>array('a','b','c')),
3=>array( 'nombre'=>'3',
'carpeta'=>'3',
'sub'=>array('a','b','c','d')),
4=>array( 'nombre'=>'4',
'carpeta'=>'4',
'sub'=>array('a','b','c','d')),
5=>array( 'nombre'=>'5',
'carpeta'=>'5',
'sub'=>array('a','b'))
);
public static function MostrarMenu()
{
foreach(self::$ArrayMenu as $numero => $array){
${$numero}="<ul>";
foreach ($array["sub"] as $letra){
${$numero}.= "<li><a>$letra</a></li>";
}
$total.=${$numero}."</ul>";
}
return $total;
}
}
$_1= microtime(true);
echo Menu::MostrarMenu();
echo microtime(true)-$_1."<br>"; // Resultado 0.00015616416931152
$_2=microtime(true);
include 'newfile.php';
echo microtime(true)-$_2; // Resultado 0.00096416473388672