[ create a new paste ] login | about

Link: http://codepad.org/8f19f7U7    [ raw code | output | fork ]

PHP, pasted on May 16:
<?php 
$data = array(
	array('Date' => 3, 'Type' => 'x', 'Amount' => 2, 'Balance' => 1),
	array('Date' => 2, 'Type' => 'y', 'Amount' => 2, 'Balance' => 1),
	array('Date' => 1, 'Type' => 'z', 'Amount' => 2, 'Balance' => 1),
);


function array_orderby() {
    $args = func_get_args();
    $data = array_shift($args);
    foreach ($args as $n => $field) {
        if (is_string($field)) {
            $tmp = array();
            foreach ($data as $key => $row)
                $tmp[$key] = $row[$field];
            $args[$n] = $tmp;
        }
    }
    $args[] = &$data;
    call_user_func_array('array_multisort', $args);
    return array_pop($args);
}

$data = array_orderby($data, 'Date', SORT_ASC);

echo '<pre>';
print_r($data);
echo '</pre>';
?>


Output:
<pre>Array
(
    [0] => Array
        (
            [Date] => 1
            [Type] => z
            [Amount] => 2
            [Balance] => 1
        )

    [1] => Array
        (
            [Date] => 2
            [Type] => y
            [Amount] => 2
            [Balance] => 1
        )

    [2] => Array
        (
            [Date] => 3
            [Type] => x
            [Amount] => 2
            [Balance] => 1
        )

)
</pre>


Create a new paste based on this one


Comments: