Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Массивы





Массив представляет собой набор переменных, объединенных одним именем. Каждое значение массива идентифицируется индексом, который указывается после имени переменной-массива в квадратных скобках. Комбинацию индекса и соответствующего ему значения называют элементом массива.

  1. <?
  2. $i = 1024;
  3. $a[1] = 'abc';
  4. $a[2] = 100;
  5. $a['test'] = $i - $a[2];
  6. echo $a[1]. "<br>\n";
  7. echo $a[2]. "<br>\n";
  8. echo $a['test']. "<br>\n";
  9. ?>

В приведенном примере, в строке три объявляется элемент массива $a с индексом 1; элементу массива присваивается строковое значение 'abc'. Этой же строкой объявляется и массив $a, так как это первое упоминание переменной $a в контексте массива, массив создается автоматически. В строке 4 элементу массива с индексом 2 присваивается числовое значение 100. В строке же 5 значение, равное разности $i и $a[2], присваивется элементу массива $a со строковым индексом 'test'.

Как видите, индекс массива может быть как числом, так и строкой.

В других языках программирования (например, Perl) массивы, имеющие строковые индексы, называются хэшами (hash), и являются отдельным типом данных. В PHP же, по сути, все массивы являются хэшами, однако индексом может служить и строка, и число.

В предыдущем примере массив создавался автоматически при описании первого элемента массива. Но массив можно задать и явно:

  1. <?
  2. $i = 1024;
  3. $a = array(1=>'abc', 2=>100, 'test'=>$i-100);
  4. print_r($a);
  5. ?>

Созданный в последнем примере массив $a полностью аналогичен массиву из предыдущего примера. Каждый элемент массива здесь задается в виде индекс => значение. При создании элемента 'test' пришлось указать значение 100 непосредственно, так как на этот раз мы создаем массив "одним махом", и значения его элементов на этапе создания неизвестны PHP.

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

Строки в выводе функции print_r разделяются обычным переводом строки \n, но не тэгом <br>. Для удобства чтения, строку print_r(..) можно окружить операторами вывода тэгов <pre>...</pre>:

echo '<pre>';
print_r($a);
echo '</pre>';

Если явно не указывать индексы, то здесь проявляется свойство массивов PHP, характерное для числовых массовов в других языках: очередной элемент будет иметь порядковый числовой индекс. Нумерация начинается с нуля. Пример:

  1. <?
  2. $operating_systems = array('Windows', 'Linux', 'FreeBSD', 'OS/2');
  3. $operating_systems[] = 'MS-DOS';
  4. echo "<pre>";
  5. print_r($operating_systems);
  6. echo "</pre>";
  7. ?>

Вывод:

Array([0] => Windows [1] => Linux [2] => FreeBSD [3] => OS/2 [4] => MS-DOS)

Здесь мы явно не указывали индексы: PHP автоматически присвоил числовые индексы, начиная с нуля. При использовании такой формы записи массив можно перебирать с помощью цикла for. Количество элементов массива возвращает оператор count (или его синоним, sizeof):

  1. <?
  2. $operating_systems = array('Windows', 'Linux', 'FreeBSD', 'OS/2');
  3. $operating_systems[] = 'MS-DOS';
  4. echo '<table border=1>';
  5. for ($i=0; $i<count($operating_systems); $i++) {
  6. echo '<tr><td>'. $i. '</td><td>'. $operating_systems[$i]. '</td></tr>';
  7. }
  8. echo '</table>';
  9. ?>

Стили записи можно смешивать. Обратите внимание на то, какие индексы автоматически присваиваются PHP после установки некоторых индексов вручную.

  1. <?
  2. $languages = array(
  3. 1 => 'Assembler',
  4. 'C++',
  5. 'Pascal',
  6. 'scripting' => 'bash'
  7. );
  8. $languages['php'] = 'PHP';
  9. $languages[100] = 'Java';
  10. $languages[] = 'Perl';
  11. echo "<pre>";
  12. print_r($languages);
  13. echo "</pre>";
  14. ?>

Вывод:

Array([1] => Assembler [2] => C++ [3] => Pascal [scripting] => bash [php] => PHP [100] => Java [101] => Perl)

Date: 2015-09-17; view: 263; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.009 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию