Tuesday, May 18, 2010

Ordenar un array en PHP de acuerdo a un valor de los elementos que queremos ordenar (usort + funciones anonimas)

Retorcido ? bueno, mejor el ejemplo del codigo:

<?php

$array = array(0 => array('id' => 1, 'secs_order' => 82800), 1 => array('id' => 2, 'secs_order' => 64800), 2 => array('id' => 3, 'secs_order' => 19300));

$cmp = function ($a, $b) {

if ($a['secs_order'] == $b['secs_order']) return 0;

return ($a['secs_order'] < $b['secs_order']) ? -1 : 1;

};

echo '<pre>' . print_r($array, TRUE) . '</pre>'; // desordenado

usort($array, $cmp); // notese q aca $cmp es una funcion anonima ...

echo '<pre>' . print_r($array, TRUE) . '</pre>'; // ordenado

?>

Interesante para ordenar arrays de forma "no convencional" con una funcion propia. En este caso se ordeno el $array de menor a mayor de acuerdo al subvalor 'secs_order' de cada elemento del $array.


Saludos !

Thursday, May 6, 2010

Convertir codigo html en entidades html para entradas en blogspot

Simplemente copiar y pegar el codigo en este sitio http://www.simplebits.com/cgi-bin/simplecode.pl y pegarlo en la entrada ...

Saludos !

JQuery, controlar multiples eventos para remover errores en un formulario HTML

Donde #start_date, #end_date, #rec_until son input=text y el codigo html que remueve el remove() es por ejemplo:

<dd><span class="error error_start_date">Invalid start date (format: mm/dd/yyyy)</span></dd>

Ahora, el codigo en si es el siguiente:

$('#start_date, #end_date, #rec_until').bind('click blur select', function() {
$('.error_' + $(this).attr('id')).fadeOut('slow', function () {
$(this).parent().remove();
});
});

Se que no es muy explicativo, pero lo interesante de esto es la funcion bind() que nos permite manejar diferentes eventos con una misma funcion. Lo que hace el codigo es remover con una animacion fadeOut() el dd+span que se agrego al formulario a causa de un error.

Saludos !

Followers

About me

Santa Fe, Argentina
Programador Web, PHP, MySQL, JQuery, Administrador Linux. LAMP, Lighttpd, Nginx.