Уроки PHP - урок 11 - Функции для работы со строками и массивами

php друпал drupal

Мы уже знаем разные типы данных и некоторые функции для работы с ними. На самом деле в 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 функции.

Комментарии

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

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

В примере, PHP длина строки,

В примере, PHP длина строки, хочу добавить свои 5 копеек
<?php
$colors = array(1=>'желтый',2=>'красный',3=>'голубой');
$string = implode(',',$colors);
$string .= ',черный,белый';
$newArray = explode(',', $string);
print strlen($string); //выводим длину строки
?>
выводит 66

Чтобы вывел правильное значение 35 нужно использовать
utf8_decode
<?php
$colors = array(1=>'желтый',2=>'красный',3=>'голубой');
$string = implode(',',$colors);
$string .= ',черный,белый';
$newArray = explode(',', $string);
print $string . '</br>'; //вывод строки
print strlen(utf8_decode($string)); //выводим длину строки 35
?>