Учимся летать выше: PHP функции работы с массивами

PHP функции работы с массивами

От автора: если понаблюдать за работой профессионального разработчика, то кажется, что у него строки кода сами ложатся на рабочий «холст», постепенно превращаясь в программное «произведение». А сам программист при этом также умело обращается с языком, как опытный летчик управляет современным самолетом. Чтоб так профессионально «пилотировать» программной наукой, нужно в совершенстве знать все функции языка. Например, PHP функции работы с массивами.

«Улет» с массивами

Массивы широко используются в программировании, в том числе и серверном. С их помощью можно применять отдельные операции сразу к множеству элементов. В PHP все виды массивов смешались воедино. Кратко поясним эту «тенденцию».
Данный язык не устанавливает жестких требований к типу значения ключей (индексу). То есть они могут быть как строковыми, так и числовыми. Например:

<?php
$array = array(
    1 => "PHP",
    "HTML" => 2,
    3=> "JavaScript",
    4=>345,
    "hello"=>250);
?>

Как видите, не только ключи могут быть разного типа, но и сами значения элементов. Также обратите внимание, что для объявления массива используется оператор array. Онпозволяет задавать значение ключей. Также существует другой способ инициализации массивов, при котором PHP «самостоятельно» добавляет индексы элементов:

<?php
$fruits[]="apple";
$fruits[]="banana";
$fruits[]="pear";
var_dump ($fruits);
?>

В данном примере мы использовали функцию var_dump(), которая не совсем подходит для отображения массивов. Она просто выводит значение и тип передаваемой ей переменной. Но часто информация о типе может затруднить обработку выводимой строки. Поэтому в PHP есть несколько специализированных функций. Для вывода значений массива применяются print_r():

<?php
$fruits []="apple";
$fruits []="banana";
$fruits []="pear";
print_r($fruits);
?>

Часто нужно рассортировать элементы массива по возрастанию значений или узнать его длину (количество элементов). Использование соответствующих функций я покажу в одном примере:

<?php
$ar1=array(10,5,9,13,15);
sort($ar1);
echo "В массиве ".count($ar1)." элементов<br/>";
print_r($ar1);
?>

Манипуляции со строками

Рассмотрим, какие существуют в PHP функции работы со строками. Главную из них мы уже использовали сегодня. Функция echo () служит для вывода строк. Теперь рассмотрим несколько других. Выводим фразу на экран и с помощью функции strlen() узнаем, сколько в ней символов:

<?php
$str1="Учите PHP и становитесь настоящими профессионалами";
echo $str1."<br/> В фразе ".strlen($str1)." символов";
?>

С помощью функции md5() хэшируем строку. Она пригодится для шифрования данных, вводимых в различные формы:

<?php
$str1="Учите PHP и становитесь настоящими провессионалами";
echo "Хэшированная строка: <br/>".md5($str1);
?>

Перетасовываем все символы фразы в случайном порядке. Для этого используем функцию str_shuffle():

<?php
$str1="учите PHP и становитесь настоящими провессионалами";
echo "Строка' ".$str1." ' в перетасованном виде:<br/>".str_shuffle($str1);
?>

Это всего лишь несколько функций PHP, предназначенных для работы со строковыми данными. На самом деле их намного больше, и для их демонстрации понадобилась бы отдельная большая статья. А в этом материале я привел лишь некоторые из них, чтобы показать вам, как легко «летать» на PHP :) .

Манипулируем файлами

Что-то мы «мелко» летаем! Давайте поднимемся еще выше, и рассмотрим, какие существуют в PHP функции работы с файлами. А лучше рассмотрим поэтапно весь цикл операций с файлами: от создания до считывания.

Перед тем, как совершать какие-либо действия, нужно открыть файл. Для этого используется функция fopen(). В качестве первого параметра она принимает имя файла или путь к нему. Значением второго аргумента мы устанавливаем режимы доступа к файлу. В своих примерах мы задействуем два режима:

«r» — открывает файл для чтения, путь к которому указан в первом аргументе. Или в текущей директории, если путь не задан.

«w» — открывает файл для записи данных в его начало. Если файла с указанным именем нет, то он будет создан.

Реализуем все вышесказанное:

<?php
$f1=fopen("f1.txt","r+");
$f2=fopen("f2.txt","w");
?>

Но в результате мы получили предупреждение о том, что файл f1.txt не найден.

Поэтому используем более универсальный модификатор доступа w+, который позволяет осуществлять чтение и запись. А также создает файл, если его нет. Теперь занесем данные в созданный файл с помощью функции fwrite():

<?php
$f2=fopen("f2.txt","w+");
$data="Сегодня ".date("Y.m.d");
fwrite($f2,$data);
fclose($f2);
?>

Для получения даты мы воспользовались функцией date(), а затем записали возвращенную ею строку в файл.

И теперь выводим строку на экран. Для этого используем функцию fgets(), которая считывает строку (или файл) до конца.

<?php
$f2=fopen("f2.txt","r");
while(!feof($f2))
{
	$str=fgets($f2);
    echo $str;
}
fclose($f2);
?>

Если вы заметили, то я поменял идентификатор доступа на «r», поскольку «w+» после закрытия текущего сеанса и при обращении к файлу в очередной раз полностью перезаписывает или стирает его содержимое. В общем, тут нужно «летать» аккуратнее :) .

Ну, и напоследок приведу вам пример, способный снять напряжение после краткого экскурса в возможности PHP:

<?php
$data=file_get_contents("f2.txt");
echo $data;
?>

В итоге получаем результат, аналогичный предыдущему. На этом все. До следующих увлекательных полетов с PHP!

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree