Porque cuando lo recorres ya tiras la clave campo_fecha y esa clave ya no existe, por eso no te imprime nada... Deberías activar errores tipo notice. Así puedes recorrerlo:
Código PHP:
Ver original<?php
function ordenar_fecha2($a, $b) {
return strcmp($a["campo_fecha"], $b["campo_fecha"]); }
$fechas2['campo_fecha'][] = "2009-01-01";
$fechas2['campo_fecha'][] = "2009-02-11";
$fechas2['campo_fecha'][] = "2009-01-15";
$fechas2['campo_fecha'][] = "2009-02-28";
$fechas2['campo_fecha'][] = "2009-03-13";
$fechas2['campo_fecha'][] = "2009-04-09";
$fechas2['campo_fecha'][] = "2009-05-10";
usort($fechas2, 'ordenar_fecha2');
foreach ($fechas2 as $fecha) {
foreach ($fecha as $f) {
echo $f . '<br />';
}
}
?>
o con lo que llevas
Código PHP:
Ver original<?php
function ordenar_fecha2($a, $b) {
return strcmp($a["campo_fecha"], $b["campo_fecha"]); }
$fechas2['campo_fecha'][] = "2009-01-01";
$fechas2['campo_fecha'][] = "2009-02-11";
$fechas2['campo_fecha'][] = "2009-01-15";
$fechas2['campo_fecha'][] = "2009-02-28";
$fechas2['campo_fecha'][] = "2009-03-13";
$fechas2['campo_fecha'][] = "2009-04-09";
$fechas2['campo_fecha'][] = "2009-05-10";
usort($fechas2, 'ordenar_fecha2'); while (list ($clave, $valor) = each($fechas2)) { foreach ($valor as $fecha) {
echo $fecha . '<br />';
}
}
?>
para entender mejor tu error, mira lo que tiene la variable
$valor, donde vez la clave campo_fecha???
Cita: Array
(
[0] => 2009-01-01
[1] => 2009-02-11
[2] => 2009-01-15
[3] => 2009-02-28
[4] => 2009-03-13
[5] => 2009-04-09
[6] => 2009-05-10
)
Saludos.