Задана длинная строка, разделенная запятой.
Задача состоит в том, чтобы разделить заданную строку запятой-разделителем и сохранить результат в массиве.
Примеры:
Input: red,blue,yellow Output: Array ( [0] => red [1] => blue [2] => yellow ) Input: practice, code Output: Array ( [0] => practice [1] => code )
Ниже приведены способы преобразования строки, разделенной запятыми, в массив в PHP:
Тематический листинг:
Функции PHP explode() и preg_split():
С использованием str_getcsv()
С использованием цикла for
Функции PHP explode() и preg_split():b
И explode(), и preg_split() полезны для разделения строк в PHP.
explode() проще и быстрее при работе с разделителем из одного символа, в то время как
preg_split() предлагает возможности регулярных выражений для более сложных задач разделения.
explode() используйте для простых случаев и
preg_split() для сложных разбиений на основе шаблонов.
<?php // Use preg_split() function $string = ""123,456,78,000""; $str_arr = preg_split (""/\,/"", $string); print_r($str_arr); // use of explode $string = ""123,46,78,000""; $str_arr = explode ("","", $string); print_r($str_arr); ?>
Получаем:
Output Array ( [0] => 123 [1] => 456 [2] => 78 [3] => 000 ) Array ( [0] => 123 [1] => 46 [2] => 78 [3] => 000 )
Используя str_getcsv()
Этот PHP-скрипт использует str_getcsv() для преобразования строки $string, разделенной запятыми, в массив, обрабатывая правила форматирования CSV, такие как значения, заключенные в кавычки с запятыми, и выводит результирующую структуру массива.
<?php // Comma-delimited string $string = ""apple,banana,cherry,date""; // Split string into an array using str_getcsv $array = str_getcsv($string); // Output the resulting array print_r($array); ?>
Получаем:
Array ( [0] => apple [1] => banana [2] => cherry [3] => date )
Используя цикл for
В этом подходе мы инициализируем переменные для хранения текущего слова и конечного массива, затем перебираем каждый символ в строке, затем добавляем символы к текущему слову, пока не будет найдена запятая, затем добавляем текущее слово в массив и сбрасываем его. После завершения цикла добавьте последнее слово в массив, чтобы завершить разбиение.
Пример:
<?php $string = ""welcome, to, gfg""; $array = []; $current_word = """"; // Loop through each character in the string for ($i = 0; $i < strlen($string); $i++) { if ($string[$i] === ',') { // Add the current word to the array and reset it $array[] = $current_word; $current_word = """"; } else { // Append character to the current word $current_word .= $string[$i]; } } // Add the last word to the array $array[] = $current_word; print_r($array); ?> Получаем
Array ( [0] => welcome [1] => to [2] => gfg )
Оффлайн
Последняя авторизация: 25.03.2025 08:09
CleanCot © Пятница, 04 сентября 2026 01:41
Версия PHP: 8.4.6
Страница создана за 0.05763 секунды
Режим совместимости: legacyMode Выключен
Версия ядра: v.0.9.26 beta / Версия БД: v.0.9.26