ОБСУЖДЕНИЕ

ПоМАГИТЕЕ

16 сообщений0 просмотровОткрыта
#1
Всем привет. Можете пож-ста помочь с кодом, вывод текста чтобы слова $f склонялись в зависимости от заданного количетва $co


$f = 'шестерки';
break;
case 7:
$f = 'семёрки';break;
case 8:
$f = 'восьмёрки';break;
case 9:
$f = 'девятки';break;
case 10:
$f = 'десятки';break;
case 11:
$f = 'валета';break;
case 12:
$f = 'дамы';break;
case 13:
$f = 'короля';break;
case 14:
$f = 'туза';break;
}
switch ($count)
{
case 1:
$co = '1';break;
case 2:
$co = '2';break;
case 3:
$co = '3';break;
case 4:
$co = '4';break;
#2
Тут у тебя во множественном числе
#3
PHP
if (empty($co)) {$co=0;}
$co = (int)$co;
$q1 = abs($co) % 100;
$q2 = $co % 10;
if ($q1 > 10 && $q1 < 20) $sSecsText = 'десяток';
elseif ($q2 > 1 && $q2 < 5) $sSecsText = 'десятки';
elseif ($q2 == 1) $sSecsText = 'десятка';
else $sSecsText = 'десятки';
#4
https://masteram.us/codes/info/518
#5
Та итак нормально
#6
PowerHelper, Нет,не работает
#7
<?php
function getCardName($number) {
// Возвращает базовую форму для карты
switch ($number) {
case 6: return 'шестерок';
case 7: return 'семерок';
case 8: return 'восьмерок';
case 9: return 'девяток';
case 10: return 'десяток';
case 11: return 'валет';
case 12: return 'дама';
case 13: return 'король';
case 14: return 'туз';
default: return 'неизвестная карта';
}
}

function getCardQuantity($count, $baseName) {
// Склонение в зависимости от количества
if ($count % 10 == 1 && $count % 100 != 11) {
// Единственное число
switch ($baseName) {
case 'валет': return "$count валет";
case 'дама': return "$count дама";
case 'король': return "$count король";
case 'туз': return "$count туз";
default: return "$count {$baseName}а"; // Например, 1 шестерка
}
} elseif (in_array($count % 10, [2, 3, 4]) && !in_array($count % 100, [12, 13, 14])) {
// Для чисел 2, 3, 4
switch ($baseName) {
case 'валет': return "$count валета";
case 'дама': return "$count дамы";
case 'король': return "$count короля";
case 'туз': return "$count туза";
default: return "$count {$baseName}и"; // Например, 3 шестерки
}
} else {
// Для всех остальных случаев (множественное число)
switch ($baseName) {
case 'валет': return "$count валетов";
case 'дама': return "$count дам";
case 'король': return "$count королей";
case 'туз': return "$count тузов";
default: return "$count $baseName"; // Например, 5 шестерок
}
}
}

// Пример использования
$cards = [
['number' => 14, 'count' => 2], // 2 туза
['number' => 13, 'count' => 2], // 2 короля
['number' => 13, 'count' => 12], // 12 королей
['number' => 14, 'count' => 3], // 3 туза
['number' => 6, 'count' => 5], // 5 шестерок
];

foreach ($cards as $card) {
$cardNameBase = getCardName($card['number']);
$result = getCardQuantity($card['count'], $cardNameBase);
echo $result . "\n";
}
?>
В даном примере будет вот такой результат: 2 туза 2 короля 12 королей 3 туза 5 шестерок
#8
Mi4ok, Спасибо,попробую..смех.
#9
etozhemaks, .миньон.
#10
alexsmail, Спасибо,изучу,и попробую.ok.
#11
Ок)
#12
Это на что "Дурак"?
#13
o5Tolik, Да
#14
o5Tolik, Блин не дурак,.смех. а игра верю не верю
#15
Ну так на какой двиг?
#16
Социал