Страница 179 из 813 "North Dakota" => "Bismarck", "Ohio" => "Columbus", "Oklahoma" => "Oklahoma City", "Oregon" => "Salem", "Pennsylvania" => "Harrisburg", "Rhode Island" => "Providence", "South Carolina" => "Columbia", "South Dakota" =>"Pierre", "Tennessee" => "Nashville", "Texas" => "Austin", "Utah" => "Salt Lake City", Vermont" => "Montpelier", "Virginia" => "Richmond", "Washington" => "Olympia", "West Virginia" => "Charleston", "Wisconsin" => "Madison", "Wyoming" => "Cheyenne"); Затем можно выводить название столицы, используя в качестве индекса имя штата в переменной $state. Итерации в неупорядоченных массивах Весьма просто реализовать цикл для работы с массивом, элементы которого создавались последовательно (первый элемент был введен первым, второй ------ вторым, третий ------ третьим и т.д.). Однако будет ли также просто обрабатывать массив, в котором элементы создавались не по порядку? Например: $array[56 993]="огромное количество"; $array[1]="очень мало"; $array[4 99]="достаточно много"; На самом деле неупорядоченные массивы не являются сложной проблемой, и все описанные ранее методы также будут работать. PHP "не обращает внимания'' на то, что значения сохраняются не по порядку, так как он считает элементы массива расположенными в прямом числовом порядке индексных значений. Единственная проблема заключается в том, что при последовательном просмотре всех элементов большого массива (как в примере выше), который содержит только три значения, возможно, придется проверять множество несуществующих элементов. Функции current() и key() Для отслеживания элементов при перемещении по массиву в PHP используется указатель. Указатель ссылается на элемент, который используется сценарием в текущий момент времени. Чтобы просмотреть значение данного элемента, можно использовать функцию current() , а для того чтобы определить индекс данного элемента, можно использовать функцию key(). (Ключ (key) — еще одно название индекса.) Ниже приведен небольшой фрагмент кода, иллюстрирующий работу функций current() и key(). Неясно, какой индекс PHP будет считать первым при первом просмотре PHP-сценария, содержащего такой код. $director[4]=" Orson Welles"; $director[1]="Carol Reed"; $director[93]="Fritz Lang"; $director[24]="Jacques Tourneur"; Это можно узнать, добавив несколько строк, которые возвращают текущий индекс массива $director[] и отображают его: Сcurrent_index_value = key($director); echo ($current_index_value); Функция key() возвращает значение 4. Почему? Потому что она возвращает индекс элемента, который был помещен в массив первым (когда данный сценарий выполняется впервые, первый введенный элемент является текущим элементом), т.е. Orson Welles под индексом 4 (ключ, возвращенный функцией key()). Функция current() вернет значение Orson Welles (значение текущего элемента, найденного функцией current()): $current_contents = current($director); echo ($current_contents);
|