Индексные и ассоциативные массивы
В PHP существуют массивы не только с числовой индексацией (для краткости их называют просто индексными). В качестве ключа можно указывать также и строковые данные. Иногда такой подход очень облегчает работу программиста, так как строковый ключ может нести смысловую нагрузку и служить подсказкой. Посмотрите на этот массив.
<?php
$menu[0] = "белый цветок";
$menu[1] = "колосок";
?>
Попробуйте догадаться, что за "блюда" входят в состав массива $menu? Картина прояснится, если массив записать следующим образом.
<?php
$menu["vine"] = "белый цветок";
$menu["beer"] = "колосок";
?>
Массивы, в которых ключом является строка, называют ассоциативными. Ключ ассоциативного массива должен быть в обязательном порядке заключен в двойные или одинарные кавычки. Кавычки можно опустить только в том случае, если в качестве ключа указывается константа, например:
<?php
define("KEY","beer");
$menu[KEY] = "колосок";
?>
Создание ассоциативных массивов с помощью конструкции array() немного отличается от создания индексных массивов. Если в индексных массивах ключ можно опускать, то при создании ассоциативного массива необходимо указывать и ключ, и значение. Следующий код создаст ассоциативный массив с двумя элементами.
<?php
$man = array!
"name" => "Иван";
"surname" => "Петров";
) ; ?>
А вот так можно обратиться к любому из элементов ассоциативного массива по имени.
<?php
//Создаем массив
$man = array(
"name" => "Иван";
"surname" => "Петров";
); //Обращаемся к элементу с именем "name" echo $man["name"];
?>
Стандартные функции обработки массивов.
Одномерные индексные массивы.
Одномерные ассоциативные массивы.
Операторы перехода. Оператор возврата.
Работа с базами данных MySQL в PHP.
Создание, просмотр, редактирование содержимого таблиц базы данных MySQL
Определение прав доступа к данным в базе данных MySQL.
Манипулирование данными в базе данных MySQL.
Использование запросов в базе данных MySql. Выбор базы данных
Работая с MySQL из командной строки, необходимо указывать используемую базу данных:
use books;
То же самое необходимо и при подключении из Веб. База данных, которая должна использоваться, указывается в параметре конструктора mysqli или функции mysqli_connect(). Если впоследствии понадобится изменить используемую базу данных, для этого служит функция mysqli_select_db(), доступ к которой осуществляется следующим образом:
$db -> select_db (dbname)
или
mysqli_select_db (db_resource, db_name)
И здесь поддерживаются обе версии функции — объектно-ориентированная и процедурная, причем процедурная отличается льшь префиксом mysqli_ в имени и параметром, в котором должен передаваться ресурс подключения.
Выполнение запроса к базе данных
Чтобы осуществить запрос, необходимо воспользоваться функцией mysqli_query(). Однако прежде этот запрос необходимо построить:
$query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
В этом случае будет выполняться поиск значения, введенного пользователем ($searchtype) в указанном им поле ($searchterm). Вы, вероятно, обратили внимание на то, что для установки соответствия мы употребили like, а не eqal —при поиске в базе данных обычно имеет смысл несколько расширить границы поиска.
Теперь можно выполнить запрос:
$result = $db -> query($query);
Либо, если вы предпочитаете процедурный интерфейс, запрос будет выглядеть так:
$result = mysqli_query ($db, $query);
Вы передаете запрос, который необходимо выполнить, и в случае процедурного интерфейса, связь с базой данных.
Объектно-ориентированная версия возвращает объект результата, а процедурная версия — ресурс результата. В любом случае возвращаемое значение сохраняется в переменной $result для дальнейшего использования. Функция возвращает значение false в случае ошибки.
