note 127712 added to function.array-reduce
| From: | (mcleonell@gmail.com) | Date: | Tue, 11 Oct 2022 09:31:18 +0000 |
| Subject: | note 127712 added to function.array-reduce | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-219663@lists.php.net to get a copy of this message | ||
<?php
// Find the winner
$users = [
['name' => 'user1', 'score' => 100],
['name' => 'user2', 'score' => 150],
['name' => 'user3', 'score' => 20],
['name' => 'user5', 'score' => 400],
['name' => 'user4', 'score' => 70],
['name' => 'user6', 'score' => 10],
];
$winner = array_reduce(
$users,
function (?array $highestScoringUser, array $user) {
// If we have no winning user yet, we have the highest score
if ($highestScoringUser === null) {
return $user;
}
// If we have more points than the current highest scoring user, we become the highest
scoring user
if ($user['score'] > $highestScoringUser['score']) {
return $user;
}
// If none of the above checks is true the highest scoring user remains
return $highestScoringUser;
},
null,
);
var_dump($winner['name']); // user1
----
Server IP: 45.112.84.4
Probable Submitter: 45.91.159.161 (proxied: 81.244.173.94)
----
Manual Page -- https://php.net/manual/en/function.array-reduce.php
Edit -- https://main.php.net/note/edit/127712
Del: integrated -- https://main.php.net/note/delete/127712/integrated
Del: useless -- https://main.php.net/note/delete/127712/useless
Del: bad code -- https://main.php.net/note/delete/127712/bad+code
Del: spam -- https://main.php.net/note/delete/127712/spam
Del: non-english -- https://main.php.net/note/delete/127712/non-english
Del: in docs -- https://main.php.net/note/delete/127712/in+docs
Del: other reasons-- https://main.php.net/note/delete/127712
Reject -- https://main.php.net/note/reject/127712
Search -- https://main.php.net/manage/user-notes.php