массивы — PHP функция разнесения занимает более 1 пробела, PHP, EXPLODE, WHITESPACES

У меня есть массив с парой слов, и я пытаюсь взорвать его только один пробел, но при подсчете по какой-то причине он также учитывает пробелы. Как мне это остановить?

<?php

$string = "I'm just            so peachy, right now";
$string = explode(" ", $string);

$count = count($string);
$tempCount = 0;

while ($tempCount < $count) {
echo $string[$tempCount]."$tempCount<br>";
$tempCount++;
}

?>

Фактический выход:

I'm0
just1
2
3
4
5
6
7
8
9
10
11
12
so13
peachy,14
right15
now16

Ожидаемый результат:

I'm0
just1
so2
peachy,3
right4
now5

0

Решение

Используйте preg_split, http://php.net/manual/en/function.preg-split.php, который будет использовать регулярное выражение, чтобы вы могли сказать ему, чтобы все непрерывные пробелы были едины.

$string = 'I\'m just            so peachy, right now';
$spaced = preg_split('~\h+~', $string);
print_r($spaced);

Выход:

Array
(
[0] => I'm
[1] => just
[2] => so
[3] => peachy,
[4] => right
[5] => now
)

PHP Demo: http://3v4l.org/a5cg5
Regex Demo: https://regex101.com/r/vO1qU0/1

4

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

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

По вопросам рекламы [email protected]