@Ainur100

Как вывести массив в определенном порядке?

у нас есть массив,например
Array (
[ч] => 0 [л] => 9 [в] => 1 [к] => 8 [е] => 5 [о] => 2 [е] => 5
)
у каждой буквы есть свой номер. Можно ли вывести его в последовательности 0592158 (человек), при этом чтобы повторяющиеся буквы (по типу [е] ) выпадали рандомно
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ArthurAm
Могу копать, могу не копать
Странная задача. Набросал, примерно такое поведение ожидается?
function printWord(string $digits, array $letters) {
    $chars = str_split($digits);
    $flipped = array_flip($letters);

    $result = '';
    foreach ($chars as $char) {
        $result .= $flipped[$char];
    }
    
    echo $result;
}

$testLetters = [
    'ч' => 0,
    'л' => 9,
    'в' => 1,
    'к' => 8,
    'е' => 5,
    'о' => 2,
];

printWord('0592158', $testLetters);
Ответ написан
Комментировать
toxicmt
@toxicmt
CTO at hexlet.io
Вот:

<?php

function convert($number)
{
    $map = ['ч' => 0, 'л' => 9, 'в' => 1, 'к' => 8, 'е' => 5, 'о' => 2];
    $digits = str_split($number);
    $chars = [];
    foreach ($digits as $digit) {
        $chars[] = array_search($digit, $map);
    }
    return implode('', $chars);
}

echo convert('0592158');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы