PHP Array Упражнения: Сортировать указанный массив по дням и имени пользователя
PHP Array: Упражнение 22 с решением
Напишите PHP-скрипт для сортировки следующего массива по дням (page_id) и имени пользователя.
Пример решения:
PHP-код:
<?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";
}
?>
Пример вывода:
$ arra [0]: 2025731450 имя_пользователя: Илия $ arra [1]: 2025731470 имя_пользователя: Сана $ arra [2]: 1025731456 имя_пользователя: Робин $ arra [3]: 1025731460 имя_пользователя: Саманта
Блок - схема:
Редактор кода PHP:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите функцию PHP для сортировки подсетей.
Далее: Напишите программу PHP для сортировки многомерного массива, заданного определенным ключом.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code