Уроки PHP - урок 11 - Функции для работы со строками и массивами
Мы уже знаем разные типы данных и некоторые функции для работы с ними. На самом деле в PHP очень много уже готовых функций, на их обзор уйдет не один учебник, поэтому давайте разберем только некоторые из них. Начнем с того как сделать из массива строку и обратно из строки массив.
PHP из массива в строку implode()
Давайте рассмотрим пример:
<?php $colors = array(1=>'желтый',2=>'красный',3=>'голубой'); //определяем массив $string = implode(',',$colors); //переводим массив строку print $string; //выводим строку ?>
В результате все цвета будут выведены как строка, разделенные через запятую. Для функции implode() первым параметром мы указываем как разделять элементы массива в строке, а во втором параметре сам массив. Как видите все очень просто. А теперь наоборот из строки в массив.
PHP из строки в массив explode()
И опять начнем с примера:
<?php $colors = array(1=>'желтый', 2=>'красный', 3=>'голубой'); //определяем массив $string = implode(',' , $colors); //переводим массив строку $string .= ',черный,белый'; // допишем еще пару цветов $newArray = explode(',' , $string); // переводим из строки в массив print_r($newArray); // выводим массив на печать ?>
В результате выведутся все наши цвета, в том числе и те которые мы дописали. Заметьте что функция explode нумерует элементы массива начиная отсчет от 0. Поэтому пятый элемент массива имеет ключ 4. Первый параметр функции explode() разделитель, который разделяет элементы в строке, а второй сама строка.
PHP длина строки, длина массива
Иногда нам необходимо подсчитать длину строки или массива. Конечно если число небольшое, то это легко сделать, а если строка длиной 200-300 символов, а в массиве 500 элементов. Тогда на помощь приходят PHP функции подсчета длины строки и длины массива:
$colors = array(1=>'желтый',2=>'красный',3=>'голубой'); $string = implode(',',$colors); $string .= ',черный,белый'; $newArray = explode(',', $string); print strlen($string); //выводим длину строки
Вот так с помощью функции strlen мы выводим длину строки, просто и удобно. У меня получилась длина 35.
Для массива существует тоже определенная длина массива, а именно количество элементов массива:
$colors = array(1=>'желтый',2=>'красный',3=>'голубой'); $string = implode(',',$colors); $string .= ',черный,белый'; $newArray = explode(',', $string); print count($newArray); // подсчитываем количество элементов в массиве
Результат подсчета количества элементов в массиве 5. Тоже довольно просто и удобно. В недалеком будущем я сделаю список всех функций PHP для работы со строками и массивами, а пока на примерах этих простых функций, я думаю вы разобрались как использовать PHP функции.