У меня есть переменная с именем $result
, которая представляет собой массив, содержащий до 4 элементов. Одним из элементов может быть число или массив, содержащий несколько номеров.php array sort out winners
Первый элемент $result
победитель, то второй элемент второй и т.д .. Это может быть несколько победителей, 2-ой, 3-ей победителей и т.д ..
пример:
$result = array(
1,
2,
array(3,4)
);
OR
$result = array(1,2,3);
OR
$result = array(array(1,2),array(1,2));
OR
$result = array(1,2,3,4);
etc..
это будет означает, что победитель 1, второй победитель - 2, а theres - 3-е место между 3 и 4. нет 4-го места, так как $result
содержит только 3 элемента.
Вопрос: Как хранить победителей быть таким:
$data['winner'] = "The user Xwon"; OR "the user x and y won.. (or even more if there is even more winners somehow)";
// If there is 2nd place
do the same with 2nd.
// If there is 3rd..
same
// If there is 4th.
same
так $data
может содержать элемент для каждого из победителей, независимо от того, если там несколько победителей для этого или нет встречаемости?
Если у вас есть лучшее решение, поделитесь им.
Краткая информация: Как я могу сделать выход этой переменной лучше?/Наилучшим образом?
Примечание: важно, чтобы весь первый победитель был объявлен в сообщении.
$data['winner'] = "The user Xwon"; OR "the user x and y won.. (or even more if there is even more winners somehow)";
это то, что я был до, очень беден сделал:
$winner = $result[0];
$differentWinners = count($result);
if (is_array($winner)) {
foreach($winner as $player) {
echo "winner is: $player <br>";
}
} else {
// echo "only winner is: $winner <br>";
}
$return['winner']['userid'] = $userIds[$winner];
$return['winner']['username'] = $this->user->userDetails($userIds[$winner])->username;
$winnerData = new pokerHand($test[$winner]);
$return['winner']['combination'] = $winnerData->printHand()['combination'];
$return['winner']['message'] = "THE AMAZING ".$return['winner']['username']." WON WITH ".$return['winner']['combination']." !";
if ($differentWinners == 2) {
$secound = $result[1];
if (is_array($secound)) {
foreach($secound as $player) {
echo "secound is: $player <br>";
}
} else {
echo "only secound is: $secound <br>";
}
}
if ($differentWinners == 3) {
$third = $result[2];
if (is_array($third)) {
foreach($third as $player) {
echo "third is: $player <br>";
}
} else {
echo "only third is: $third <br>";
}
}
if ($numbers == 4 and $differentWinners == 4) {
$forth = $result[3];
if (is_array($forth)) {
foreach($forth as $player) {
echo "forth is: $player <br>";
}
} else {
echo "only forth is: $winner <br>";
}
}
return $return;
Вы пробовали что-нибудь? – Rizier123
плохой пост, что я пытался. – maria
Итак, где мы с этим вопросом? – Rizier123