str_split — Преобразует строку в массив
Описание
Преобразует строку в массив.
Список параметров
Максимальная длина фрагмента.
Возвращаемые значения
Если указан необязательный аргумент split_length , возвращаемый массив будет содержать части исходной строки длиной split_length каждая, иначе каждый элемент будет содержать один символ.
Если split_length меньше 1, возвращается FALSE . Если split_length больше длины строки string , то вся строка будет возвращена в первом и единственном элементе массива.
Примеры
Пример #1 Пример использования str_split()
$arr1 = str_split ( $str );
$arr2 = str_split ( $str , 3 );
print_r ( $arr1 );
print_r ( $arr2 );
Для того, чтобы преобразовать строку в массив по разделителю, можно использовать функцию explode()
Необходимые параметры: разделитель и строка.
Простой пример кода из документации:
Разбить строку на массив по регулярному выражению
Если возможностей explode() недостаточно, то можно использовать более мощную функцию: preg_split(). Она позволяет разбить строку не по фиксированному набору символов, а по регулярному выражению.
Пример из документации:
Преобразовать строку в массив по количеству символов
Функция str_split() преобразует строку в массив, разбивая ее на элементы с заданным количеством символов. Хотите узнать как ее использовать? Посмотрите документацию.
Разбиение строки на токены
Есть еще функция strtok() . Она позволит задать набор из нескольких символов-разделителей, для разделения строки по словам: читать подробнее про strok.
Ниже приведён кусок кода, который по массиву $search ищет определённое значение, в моём случае «google.com», а затем выводит на экран условие.
$ search = array ( " yandex.ru " , " google.com " ) ;
if ( in_array ( " google.com " , $ search ) ) <
echo " есть " ;
>
Но у меня есть большой текстовый файл base.txt, своеобразная база сайтов, который нужно записать в массив $search и работать с ним как с обычным массивом.
if ( in_array ( " google.com " , $ search ) ) <
echo " есть " ;
>
- Вопрос задан более трёх лет назад
- 21111 просмотров
в 5.3* соборщик всетаки собирет не используюемую память. Но в этом случа используеться одни и теже переменные так что проблем не должно быть. ну и $fp = fopen(‘base.txt’,’r’);
$filename = str_preplace("/","",$filename);
exec(«grep $search $filename»,$output);
print_r($output);
возможно так будет проще. если exec и system разрешены и внешние данные очищены