Estoy intentando crear una función para iniciar date_compare() que es una función usort
para una matriz y clave específicas.¿Pasar argumentos de función a una función interna?
function init_date_compare($key, $array) {
$key2 = $key;
function date_compare($a, $b) {
global $key2;
$t1 = strtotime($a[$key2]); $t2 = strtotime($b[$key2]);
return $t2 - $t1;
}
usort($array, "date_compare");
}
$arr = array(array("Aug-2-2012"), array("June-2-2012"));
$arr = init_date_compare(0, $arr);
print_r($arr);
Este salidas:
Notice: Undefined index: in...
(Así que, básicamente nulo, el alcance no funcionó).
No estoy seguro de cómo funciona el alcance con las funciones dentro de las funciones, pero si recuerdo bien, es posible. Intenté arrojar algunos global
sy inicializando $key2
, pero no puedo hacer que esto funcione.
sería útil si 'usort' y sus parientes podrían pasar argumentos a la devolución de llamada, eh. –