PHP Array Exercises : Sort a specified array by the day and username
PHP Array: Exercise-22 with Solution
Write a PHP script to sort the following array by the day (page_id) and username.
Sample Solution:
PHP Code:
<?php
// Initialize a multidimensional array $arra with transaction_id and user_name values
$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";
// Define a function convert_timestamp to convert timestamp to date
function convert_timestamp($timestamp){
$limit = date("U");
$limiting = $timestamp - $limit;
return date("Ymd", mktime(0, 0, $limiting));
}
// Define a comparison function cmp for sorting based on transaction_id and user_name
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);
}
}
// Use usort to sort the array $arra using the comparison function cmp
usort($arra, "cmp");
// Print the sorted information
while (list ($key, $value) = each($arra)) {
echo "\$arra[$key]: ";
echo $value["transaction_id"];
echo " user_name: ";
echo $value["user_name"];
echo "\n";
}
?>
Output:
$arra[0]: 2025731450 user_name: Illiya $arra[1]: 2025731470 user_name: Sana $arra[2]: 1025731456 user_name: Robin $arra[3]: 1025731460 user_name: Samantha
Flowchart:
PHP Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a PHP function to sort subnets.
Next: Write a PHP program to sort a multi-dimensional array set by a specific key.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/php-exercises/php-array-exercise-22.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics