Использование PHP для преобразования десятичного числа в ASCII с использованием разделителей пробела

Используя PHP, как преобразовать строку десятичных чисел с пробелами между ними в строку без пробелов? (если, конечно, это не преобразованное пространство DEC (32))

Пример: 84 104 97 110 107 32 121 111 117

Я проверил соответствующие вопросы, и большинство из них просто спрашивают, что такое встроенная функция для преобразования десятичной дроби в ascii. Я знаю chr () и ord (), и я думаю, что решение действительно должно использовать explode () и implode () вместе со строкой replace. Я просто ужасен в циклах for и foreach, поэтому логика ломает мне голову. 🙂

Самая близкая SO тема, которую я нашел, это та, которая в основном противоположна тому, что я прошу —
Использование PHP для преобразования символа ASCII в десятичный эквивалент

0

Решение

Это будет ситуация, когда strtok Функция на самом деле может быть использована для чего-то.

strtok Функция маркирует строку на основе символа. В этом случае разделитель токена является пробелом. Каждый раз, когда вы звоните strtok он возвращает следующий токен в строке.

chr Функция используется для преобразования порядкового (десятичного) числа в эквивалент ASCII-символа.

function myParseString($str) {
$output = ''; // What we will return
$token = strtok($str, ' '); // Initialize the tokenizer

// Loop until there are no more tokens left
while ($token !== false) {
$output .= chr($token); // Add the token to the output
$token = strtok(' '); // Advance the tokenizer, getting the next token
}
// All the tokens have been consumed, return the result!
return $output;
}
$str = '84 104 97 110 107 32 121 111 117';
echo myParseString($str);

(И пожалуйста.)

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector