Skip to main content

Sort An Array By Day, User Same Or Page Id

PHP script to sort the following array by the day (page_id) and username.

<?php
$arra[0]["transaction_id"] = "2025731470";
$arra[1]["transaction_id"] = "2025731450";
$arra[2]["transaction_id"] = "1025731456";
$arra[3]["transaction_id"] = "1025731460";

$arra[0]["user_name"] = "Sana";
$arra[1]["user_name"] = "Illiya";
$arra[2]["user_name"] = "Robin";
$arra[3]["user_name"] = "Samantha";

//convert timestamp to date
function convert_timestamp($timestamp){
    $limit=date("U");
    $limiting=$timestamp-$limit;
    return date ("Ymd", mktime (0,0,$limiting));
}

//comparison function
function cmp ($a, $b) {
    $l=convert_timestamp($a["transaction_id"]);
    $k=convert_timestamp($b["transaction_id"]);

    if($k==$l){
        return strcmp($a["user_name"], $b["user_name"]);
    }
else{
        return strcmp($k, $l);
    }
}

//sort array
usort($arra, "cmp");

//print sorted info
while (list ($key, $value) = each ($arra))
{
    echo "\$arra[$key]: ";
    echo $value["transaction_id"];
    echo " user_name: ";
    echo $value["user_name"];
    echo "\n";
}
?>

Comments

Popular posts from this blog

Temperature Calculator using PHP

This is a PHP script to calculate and display average temperature, five lowest and highest temperatures. <?php $month_temp = "78, 60, 62, 68, 71, 68, 73, 85, 66, 64, 76, 63, 81, 76, 73, 68, 72, 73, 75, 65, 74, 63, 67, 65, 64, 68, 73, 75, 79, 73"; $temp_array = explode(',', $month_temp); $tot_temp = 0; $temp_array_length = count($temp_array); foreach($temp_array as $temp) {  $tot_temp += $temp; }  $avg_high_temp = $tot_temp/$temp_array_length;  echo "Average Temperature is : ".$avg_high_temp."; sort($temp_array); echo " List of five lowest temperatures :"; for ($i=0; $i< 5; $i++) { echo $temp_array[$i].", "; } echo "List of five highest temperatures :"; for ($i=($temp_array_length-5); $i< ($temp_array_length); $i++) { echo $temp_array[$i].", "; } ?>

PHP fiction to change array values to upper and lower case

<?php function array_change_value_case($input, $ucase) { $case = $ucase; $narray = array(); if (!is_array($input)) { return $narray; } foreach ($input as $key => $value) { if (is_array($value)) { $narray[$key] = array_change_value_case($value, $case);  continue; } $narray[$key] = ($case == CASE_UPPER ? strtoupper($value) : strtolower($value)); } return $narray; } $Color = array('A' => 'Blue', 'B' => 'Green', 'c' => 'Red'); echo 'Actual array '; print_r($Color); echo 'Values are in lower case.'; $myColor = array_change_value_case($Color,CASE_LOWER); print_r($myColor); echo 'Values are in upper case.'; $myColor = array_change_value_case($Color,CASE_UPPER); print_r($myColor); ?>