У меня есть результаты опроса, хранящиеся в базе данных mysql.
Я пытаюсь вывести результаты, которые идут хорошо, но теперь я пытаюсь получить результат в порядке убывания (самый высокий в первую очередь) и с правильным именем. Теперь вывод выглядит так:
<code>print "<pre>";
print_r(array_count_values($array_a));
print "
";
// ВЫХОДЫ: первый ключ - это опция опроса, а второй - то, за что за него проголосовали.
[4] => 1
[12] => 17
[2] => 3
[6] => 42
[8] => 6
[16] => 5
[3] => 30
[18] => 1
[1] => 5
Сначала я хотел бы заменить цифры на имя. Вот где я застрял. str_replace не работает, потому что он заменяет все совпадающие числа, но не точное число. Циклы foreach делают все правильно, но необходимо заменить 17 чисел, поэтому я хотел бы использовать массив для их получения, но не знаю как.
foreach($array_a as &$value){
if($value==1){
$value = "opt1";
}
}
$patterns = array();
$patterns[0] = '1';
$patterns[1] = '2';
$patterns[2] = '3';
$patterns[3] = '4';
$replacements = array();
$replacements[0] = 'Car';
$replacements[1] = 'Boat';
$replacements[2] = 'Bike';
$replacements[3] = 'Photo';
Результат, которого я хотел бы достичь:
//OUTPUT
[Car] => 30
[Bike] => 25
[Paint] => 10
[Goat] => 5
[Photo] => 3