Código PHP:
<?php
echo "<div id='cssmenu'>";
echo "<ul>";
echo "<li class='has-sub last'><a href='#'><span>Please select a Year</span></a>";
echo "<ul>";
$dir = new DirectoryIterator('/usr/apps/webdata/backend/assets/newsletters/temp');
$list = array();
foreach($dir as $file)
{
if($file->isDot())
continue;
$string = $file;
if(preg_match_all("#(\d{1,})#", $string, $matches, PREG_SET_ORDER))
{
foreach($matches as $match)
{
$issue = $match[0];
while (list($key, $value) = each($match))
{
//TOMA EL AÑO
if (strlen ($value) == 4)
{
$uyear = $value;
//echo "Year: $uyear \n";
}
// TOMA EL NUMERO DE ARTICULO
elseif (strlen ($value) == 1)
{
$uissue = $value;
//echo "Issue: $uissue \n";
}
}
}
}
//CREA EL BUCLE POR CADA AÑO
if(!isset($list[$uyear]))
{
$list[$uyear] = array();
echo "<li class='has-sub'><a href='#'><span>" . $uyear . " </span></a>";
}
echo "<ul>";
//CREA EL BUCLE POR CADA ARTICULO DE CADA AÑO
if(!in_array($uissue, $list[$uyear]))
{
$list[$uyear][] = $uissue;
$a = count($uissue);
for($i=0;$i<$a; $i++)
{
echo "<li class='last'><a href='#' onclick=myPDF('".$file."')> Issue# ".$uissue."</a></li>";
}
}
echo "</ul>";
echo "</li>";
}
echo "</ul>";
echo "</li>";
echo "</ul>";
echo "</div>";
?>
Código PHP:
if(!in_array($uissue, $list[$uyear]))
{
$list[$uyear][] = $uissue;
$a = count($uissue);
for($i=0;$i<$a; $i++)
{
echo "<li class='last'><a href='#' onclick=myPDF('".$file."')> Issue# ".$uissue."</a></li>";
}
}
Código:
Cuando en realidad deberia ser esta:Array ( [2014] => Array ( [0] => 2 ) [2013] => Array ( [0] => 1 ) [2015] => Array ( [0] => 2 ) )
Código:
Y tambien necesito ordenar mi respuesta por Año y por Numero de Articulo, he intentado con asort(), pero no he obtenido el resultado q ando buscando, alguien q me puede ayudar? gracias amigos!!! Array ( [2014] => Array ( [0] => 2 [1] => 4 [2] => 3 [3] => 1 ) [2013] => Array ( [0] => 1 [1] => 3 [2] => 4 [3] => 2 ) [2015] => Array ( [0] => 2 [1] => 4 [2] => 3 [3] => 1 ) )