52568.fb2 Курс "Язык программирования PHP" - читать онлайн бесплатно полную версию книги . Страница 43

Курс "Язык программирования PHP" - читать онлайн бесплатно полную версию книги . Страница 43

else echo "Массивы НЕ равны и ";

if ($a === $b) echo " эквивалентны";

else echo " НЕ эквивалентны";

// получим echo "Массивы равны и

НЕ эквивалентны"

?>

Далее рассмотрим еще одну важную операцию с массивом – подсчет количества его элементов. Для ее реализации в PHP есть специальная функция.

Функция count

Не раз уже мы использовали функцию count(), чтобы вычислить количество элементов массива. На самом деле эта функция вычисляет число элементов в переменной вообще. Если применить ее к любой другой переменной, она возвратит 1. Исключение составляет переменная типа NULL – count(NULL) есть 0. Кроме того, применяя эту функцию к многомерному массиву, чтобы получить число его элементов, нужно использовать дополнительный параметр COUNT_RECURSIVE.

<?

$del_items = array("langs" => array(

"10"=>"Python", "12"=>"Lisp"),

"other"=>"Информатика");

echo count($del_items) . "<br>";

// выведет 2

echo count($del_items,COUNT_RECURSIVE);

// выведет 4

?>

Мы не будем повторять все, что было сказано о массивах в предыдущих лекциях. В этой лекции мы рассмотрим некоторые встроенные функции для работы с массивами. И начнем мы с функций для поиска значений в массиве.

Функция in_array

in_array("искомое значение","массив",

["ограничение на тип"]);

позволяет установить, содержится ли в заданном массиве искомое значение. Если третий аргумент задан как true, то в массиве нужно найти элемент, совпадающий с искомым не только по значению, но и по типу. Если искомое значение – строка, то сравнение чувствительно к регистру.

Например, имеется массив не изученных нами языков программирования. Мы хотим узнать, содержится ли в этом массиве язык PHP. Напишем следующую программу:

<?php

$langs = array("Lisp","Python","Java",

"PHP","Perl");

if (in_array("PHP",$langs))

echo "Надо бы изучить PHP<br>";

// выведет сообщение "Надо бы изучить PHP"

if (in_array("php",$langs))

echo "Надо бы изучить php<br>";

// ничего не выведет, поскольку в массиве

// есть строка "PHP", а не "php"

?>

В качестве искомого значения этой функции может выступать и массив. Правда, это свойство было добавлено только начиная с PHP 4.2.0.

Например:

<?php

$langs = array("Lisp","Python",array("PHP","Java"),"Perl");

if (in_array(array("PHP","Java"),$langs))

echo "Надо бы изучить PHP и Java<br>";

?>

Функция array_search

Это еще одна функция для поиска значения в массиве. В отличие от in_array в результате работы array_search возвращает значение ключа, если элемент найден, и ложь – в противном случае. А вот синтаксис у этих функций одинаковый:

array_search("искомое значение","массив",

["ограничение на тип"]);