Перейти к содержимому

Как разбить строку на массив php

  • автор:

Cтроку в массив по разделителю в PHP: explode, str_split, strtok — что выбрать?

Для того, чтобы преобразовать строку в массив по разделителю, можно использовать функцию explode()
Необходимые параметры: разделитель и строка.

Простой пример кода из документации:

// Пример 1 $pizza = "кусок1 кусок2 кусок3 кусок4 кусок5 кусок6"; $pieces = explode(" ", $pizza); echo $pieces[0]; // кусок1 echo $pieces[1]; // кусок2 // Пример 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $user; // foo echo $pass; // *

2. preg_split: разбить строку на массив по регулярному выражению

Если возможностей explode() недостаточно, то можно использовать более мощную функцию: preg_split(). Она позволяет разбить строку не по фиксированному набору символов, а по регулярному выражению.

Пример из документации:

// разбиваем строку по произвольному числу запятых и пробельных символов, // которые включают в себя " ", \r, \t, \n и \f $keywords = preg_split("/[\s,]+/", "hypertext language, programming"); print_r($keywords);
/* Array ( [0] => hypertext [1] => language [2] => programming ) */

Преобразовать строку в массив по количеству символов

Функция str_split() преобразует строку в массив, разбивая ее на элементы с заданным количеством символов. Хотите узнать как ее использовать? Посмотрите документацию.

$str = "Hello Friend"; $arr2 = str_split($str, 3); print_r($arr2)
Array ( [0] => Hel [1] => lo [2] => Fri [3] => end )

Функция strtok(): разбиение строки на токены

Есть еще функция strtok() . Она позволит задать набор из нескольких символов-разделителей, для разделения строки по словам: читать подробнее про strok.

Свежие записи

  • SQL UPDATE: примеры обновления строк в таблице
  • PHP: substr и мощные альтернативы, чтобы вырезать часть строки
  • Степень в C, C++ и С#: как возвести число в любую степень, побитовые операции
  • Скачать ShowKeyPlus: ссылка на последнюю официальную версию, скачивание, установка
  • Как создать файл в Linux: 12 способов
  • SQL INSERT INTO: примеры вставки строк в таблицу БД MySQL
  • PHP: str_replace — замена или удаление подстроки в строке
  • Функция date() в php: распространенные форматы, примеры, советы
  • cURL в PHP: примеры POST, GET запросов с headers, cookie, JSON и многопоточностью
  • JSON в PHP: примеры json_encode, json_decode, работа с кириллицей и utf-8
  • Файл gitignore — примеры и документация
  • Сортировка массивов в php: ksort, asort и прочие sort’ы
  • jQuery onclick: как выполнить код при клике на кнопку
  • 500 Internal Server Error — в чем причина?
  • SMTP от Yandex: как отправить письма из PHP — пример настроек
  • No such file or directory — в чем причина?
  • Как получить первый элемент массива в php
  • Cтроку в массив по разделителю в PHP: explode, str_split, strtok — что выбрать?
  • 301 редирект на https с www через htaccess
  • Как в php добавить к массиву другой массив?
  • 301 редирект на https без www с помощью htaccess
  • Регулярные выражения в PHP
  • PHP json_decode — как декодировать результат в массив?
  • Yii2 ActiveRecord шпаргалка по составлению запросов
  • Поиск подстроки в строке с помощью PHP
  • Отправка почты на php
  • Как подключить php код в html
  • Конвертировать массив в строку при помощи PHP
  • Подключение одного php файла в другой
  • Подборка ссылок для веб-разработчика
  • Проблема с кириллицей в PHPWord

split

Разбивает строку string на массив по регулярному выражению.

Внимание

С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

Список параметров

Регулярное выражение, чувствительное к регистру.

Если необходимо разбить строку по символам, являющимся специальными для регулярных выражений, их следует экранировать. Если вам кажется, что split() (или любая другая функция, работающая с регулярными выражениями) ведет себя неожиданно, пожалуйста, прочтите файл regex.7 , расположенный в поддиректории regex/ дистрибутива PHP. Он сохранен в формате manpage, поэтому для удобства чтения используйте команду man /usr/local/src/regex/regex.7.

Если указан параметр limit , возвращаемый массив будет содержать максимум limit элементов, причем последний элемент будет включать всю оставшуюся часть строки string .

Возвращаемые значения

Возвращает массив строк, каждая из которых является строкой, образованной разбиением строки string чувствительным к регистру регулярным выражением pattern .

Если pattern встречается n раз, результирующий массив будет содержать n +1 элементов. Например, если pattern в строке отсутствует, будет возвращен массив, содержащий 1 элемент. Само собой, это также верно в случае, когда string является пустой строкой. В случае ошибки split() возвращает FALSE .

Примеры

Пример #1 Пример использования split()

Получаем первые четыре поля строки из /etc/passwd :

list( $user , $pass , $uid , $gid , $extra ) =
split ( «:» , $passwd_line , 5 );
?>

Пример #2 Пример использования split()

Распознаем дату, отформатированную с использованием слешей, точек или дефисов:

// Разделителями могут быть слеши, точки или дефисы
$date = «04/30/1973» ;
list( $month , $day , $year ) = split ( ‘[/.-]’ , $date );
echo «Месяц: $month ; День: $day ; Год: $year
\n» ;
?>

Примечания

Замечание:

С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции приведет к ошибке уровня E_DEPRECATED . Смотрите список отличий для помощи при конвертировании в PCRE.

Подсказка

Функция split() является устаревшей начиная с PHP 5.3.0. Предлагается использовать вместо неё функцию preg_split() . В случае, когда нет необходимости использовать регулярные выражения, эффективнее использовать explode() , которая не использует дополнительные ресурсы для разбора регулярного выражения.

Подсказка

Пользователям, которым необходимо эмулировать поведение @chars = split(», $str) из Perl, следует обратиться к примерам для preg_split() или str_split() .

Смотрите также

  • preg_split() — Разбивает строку по регулярному выражению
  • spliti() — Разбивает строку в массив с помощью регулярного выражения без учета регистра
  • str_split() — Преобразует строку в массив
  • explode() — Разбивает строку с помощью разделителя
  • implode() — Объединяет элементы массива в строку
  • chunk_split() — Разбивает строку на фрагменты
  • wordwrap() — Переносит строку по указанному количеству символов

Как разбить на array каждую строку из textarea. PHP

Имеем форму с полем ввода textarea и кнопочкой отправить (Submit). Отправляем это все методом пост (POST). Дальше обрабатываем эту форму с помощью PHP. Задача в переменной которая приходит от textarea каждую строку преобразовать в ячейку массива. Итак приступим.

В итоге имеем массив данный где каждая строка из textarea является ячейкой массива.

Как разбить на array каждую строку из textarea. PHP

Если вы знаете более лаконичный способ пишите в комментариях.

Читайте также:

  • Спецсимволы для использования в HTML коде
  • Как привязать футер к низу страницы
  • Настройка PhpStorm pug (jade) и less Watchers
  • Как поместить кусок html кода в переменную php
  • Как разбить на array каждую строку из textarea. PHP
Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

PHP. Разбить строку на слова

Данный материал предоставлен сайтом PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.

PHP. Разбить строку на слова

Разбить строку на слова можно с помощью функции strtok.
Данная функция принимает 2 параметра.
Первый параметр это обрабатываемая строка.
Второй параметр — строка содержащая символы по которым строка будет разделена на слова.

Строка входящая в первый параметр:

$string = "Текст\tдля\nпроверки strtok";

Массив полученных слов из строки:

$array_words = array();

Символами разделителя будут выступать: пробел, табуляция и перенос строки:

$separator = " \t\n";

Выполняем разделение и записываем значение в переменную $tok:

$tok = strtok($string, $separator);

В переменную $tok будет записано лишь первое слово. Получение массива вех строк будет описано далее.

Считается, что исходная строка передается при первом вызове функции.
В последующих вызовах передаются лишь символы разделители, так как эта функция запоминает переданную строку и запоминает позиции в этой строке.

$tok = strtok(" \t\n");

Для работы с новой строкой необходимо снова вызывать функцию с двумя параметрами.

Получаем массив со словами определенными в строке:

while($tok) { $array_words[] = $tok; $tok = strtok(" \t\n"); >
var_dump($array_words);

Значение результата полученного на экране:

array(5) < [0]=>string(5) «Текст» [1]=> string(3) «для» [2]=> string(8) «проверки» [3]=> string(7) «функции» [4]=> string(6) «strtok» >

Исходный код примера:

 var_dump($array_words);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *