Используя PHP, как преобразовать строку десятичных чисел с пробелами между ними в строку без пробелов? (если, конечно, это не преобразованное пространство DEC (32))
Пример: 84 104 97 110 107 32 121 111 117
Я проверил соответствующие вопросы, и большинство из них просто спрашивают, что такое встроенная функция для преобразования десятичной дроби в ascii. Я знаю chr () и ord (), и я думаю, что решение действительно должно использовать explode () и implode () вместе со строкой replace. Я просто ужасен в циклах for и foreach, поэтому логика ломает мне голову. 🙂
Самая близкая SO тема, которую я нашел, это та, которая в основном противоположна тому, что я прошу —
Использование PHP для преобразования символа ASCII в десятичный эквивалент
Это будет ситуация, когда 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);
(И пожалуйста.)
Других решений пока нет …