Разбивается на первое пространство в строке
У меня есть строка вроде этого:
красный желтый синий
и я хочу получить такой массив:
Массив ( [0] = > красный [1] = > желтый синий)
как разбить на первое место в строке?
мой код не работает
<?php
$str = "red yellow blue";
$preg = preg_split("/^\s+/", $str);
print_r($preg);
?>
пожалуйста, помогите мне.
Ответы
Ответ 1
Используйте explode
с ограничением:
$array = explode(' ', $string, 2);
Просто примечание: третий аргумент preg_split
такой же, как и для explode
, поэтому вы также можете написать свой код:
$array = preg_split('#\s+#', $string, 2);
Литература:
PHP: взорвать
PHP: preg_split
Ответ 2
<?php
$string = "red yellow blue";
$result = explode(" ", $string, 2);
print_r($result);
?>
просто взорвите его
Ответ 3
Вы можете использовать функцию разрыва, подобную этой
print_r(explode(' ', $str, 2));
Он установит предел. Подробнее об этом здесь
Ответ 4
Вы можете использовать explode, но если вы не на 100% уверены, что у вас будет одинаковое количество пробелов (взрывов) каждый раз вы можете использовать ltrim для удаления первого слова и пробела
<?php
$full='John Doe Jr.';
$full1=explode(' ', $full);
$first=$full1[0];
$rest=ltrim($full, $first.' ');
echo "$first + $rest";
?>
Ответ 5
Вы можете использовать explode следующим образом:
$stringText = "red yellow blue";
$colours = explode(" ", $stringText);
echo $colours[0]; //red
echo $colours[1]; //yellow
echo $colours[2]; //blue
Вы также можете получить все элементы из $colors by foreach Loop, но в этом случае лучше взорваться