Php цикл для одномерного массива


Примеры использования PHP функций и циклов для вывода всех элементов массива в окно браузера.
1
Функция print_r()
Функция print_r() выводит информацию о переменной в удобочитаемом виде. Чтобы отобразить пробелы и переносы результат функции нужно обернуть в тег <pre>.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
echo ‘<pre>’;
print_r($array);
echo ‘</pre>’;
PHP
Результат:
Array
(
[0] => Andi
[1] => Benny
[2] => Cara
[3] => Danny
[4] => Emily
)
2
Функция var_dump()
Функция var_dump() отображает информацию о переменной, включая тип и значение.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
echo ‘<pre>’;
var_dump($array);
echo ‘</pre>’;
PHP
Результат:
array(5) {
[0]=>
string(4) “Andi”
[1]=>
string(5) “Benny”
[2]=>
string(4) “Cara”
[3]=>
string(5) “Danny”
[4]=>
string(5) “Emily”
}
3
var_export()
Функция var_export() возвращает строковое представление переменной в виде полноценного PHP-кода.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
echo ‘<pre>’;
echo var_export($array);
echo ‘</pre>’;
PHP
Результат:
array (
0 => ‘Andi’,
1 => ‘Benny’,
2 => ‘Cara’,
3 => ‘Danny’,
4 => ‘Emily’,
)
4
Цикл foreach
Цикл foreach специально создан для поэлементного перебора массивов.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
foreach ($array as $row) {
echo $row . “<br>rn”;
}
PHP
Результат:
Andi<br>
Benny<br>
Cara<br>
Danny<br>
Emily<br>
Пример с выводом нумерованного списка с использованием индексов массива:
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
foreach ($array as $n => $row) {
echo ($n + 1) . ‘.’ . $row . “<br>rn”;
}
PHP
Результат:
1.Andi<br>
2.Benny<br>
3.Cara<br>
4.Danny<br>
5.Emily<br>
Чтобы не выводить последний <br>, добавим условие:
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
foreach ($array as $n => $row) {
echo ($n + 1) . ‘.’ . $row;
if ($n < count($array) – 1) {
echo “<br>rn”;
}
}
PHP
Результат:
1.Andi<br>
2.Benny<br>
3.Cara<br>
4.Danny<br>
5.Emily
5
Цикл for
Цикл for подойдет только в случаях, когда индексы массива имеют непрерывную нумерацию.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
for ($n = 0; $n < count($array); $n++) {
echo $n + 1 . ‘.’ . $array[$n] . “<br>rn”;
}
PHP
Результат:
1.Andi<br>
2.Benny<br>
3.Cara<br>
4.Danny<br>
5.Emily<br>
6
Цикл while
Цикл while такое же работает как и for.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
$index = 0;
while ($index < count($array)) {
echo $index + 1 . ‘.’ . $array[$index] . “<br>rn”;
$index++;
}
PHP
Результат:
1.Andi<br>
2.Benny<br>
3.Cara<br>
4.Danny<br>
5.Emily<br>
7
Функция implode()
Также, для вывода массива удобно использовать функцию implode(), которая объединяет элементы массива через разделитель.
‘Andi’,
‘Benny’,
‘Cara’,
‘Danny’,
‘Emily’,
);
echo implode(“<br>rn”, $array);
PHP
Результат:
Benny<br>
Cara<br>
Danny<br>
Emily
HTML
Также с помощью функции implode() можно вывести список <ul> <li>.
PHP
Результат:
<li>Andi</li>
<li>Benny</li>
<li>Cara</li>
<li>Danny</li>
<li>Emily</li>
</ul>
HTML
Источник
При работе с массивами в языке программирования php множество задач решается с помощью перебора их элементов. Для этого используют рассмотренные в прошлых уроках циклические конструкции (for, whilе…) или конструкцию foreach, которая была специально создана для работы с массивами.
Давайте для начала рассмотрим способ перебора массива с помощью цикла whilе:
<?php
$goroda = array (“Токио”, “Пекин”, “Москва”);
$index = 0;
$elements = count ($goroda);
while ($index < $elements) {
echo $index+1 . “.” . $goroda[$index] . “<br>”;
$index++;
}
?>
В результате работы этого скрипта мы увидим на экране следующую информацию:
1. Токио
2. Пекин
3. Москва
Скорее всего в данном примере Вы столкнулись с несколькими незнакомыми или непонятными моментами. Поэтому давайте рассмотрим этот скрипт более детально.
Вначале создается массив $goroda с 3 элементами:
$goroda [0] = “Токио”,
$goroda [1] = “Пекин”,
$goroda [2] = “Москва”
Потом инициализируются 2 переменные: $index и $elements. Первая выступает ключом (индексом) для последующего обращения внутри цикла к элементам массива. Эта переменная получила значение 0, так как индексация массивов в php начинается с нуля.
Переменная $elements получила значение, которое вернула встроенная функция count(). Встроенная функция count() возвращает количество элементов массива, имя которого задается в аргументе. В примере 3 элемента, поэтому значение $elements будет равняться трем.
Итерация в цикле согласно условию выполняется до тех пор, пока индекс элементов не будет равнятся максимальному количеству элементов в перебираемом масссиве (не забываем, что переменная $index равна нулю, а не единице). На экран при помощи команды echo выводится результат операции конкатенации. В конце выполняется инкремент (увеличение переменной $index на единицу). Не забывайте об этом нюансе, так как он позволяет работать с последующими элементами массива и обеспечивает прекращение работы цикла, когда заданное условие выполнено.
Пример выполнения этой ж задачи с помощью цикла for:
<?php
$goroda = array (“Токио”, “Пекин”, “Москва”);
for ($index = 0; $index < count ($goroda); $index++){
echo $index+1 . “.” . $goroda[$index] . “<br>”;
}
?>
Циклы удобно использовать для перебора индексных массивов, так как выполняются операции с целочисленными индексами. Эту задачу также можно решить и с помощью конструкции foreach. Всего есть 2 способа записи данной конструкции:
foreach (название_масссива as $value)
какое-то выражение;
foreach (название as $key => $value)
какое-то выражение;
Ключ элемента передается в переменную $key, значение в свою очередь присваивается переменной $value. В то время как в первом варианте записи доступно только значение элемента, во втором доступным является еще и его ключ. Пример:
<?php
$goroda = array (“Токио”, “Пекин”, “Москва”);
foreach ($goroda as $value){
echo $value . “<br>”;
}
?>
Чаще всего конструкцию foreach в php используют для перебора ассоциативных массивов. Рассмотрим следующий пример:
<?php
$goroda = array (
“login” => “Admin”,
“paswd” => “gh360D12lJ”,
“email” => “adm@somemail.com”,
“profession” => “php programmer”
);
foreach ($goroda as $key => $value){
echo $key . “:” . $value . “<br>”;
}
?>
В некоторых случаях способы перебора элементов массива комбинируют. Давайте организуем перебор элементов многомерного массива:
<?php
$polzovateli = array (
0 => array (
“login” => “Admin”,
“paswd” => “gh360D12lJ”,
“email” => “adm@somemail.com”,
“profession” => “php programmer”
)
1 => array (
“login” => “Alex”,
“paswd” => “hd240lbDsA0”,
“email” => “alex@somemail.com”,
“profession” => “engineer”
)
2 => array (
“login” => “James”,
“paswd” => “lre54c0Sdv0f”,
“email” => “james@somemail.com”,
“profession” => “dancer”
)
);
echo “<table border=2>”;
echo “<tr><td>Логин</td><td>Пароль</td><td>E-mail</td><td>Профессия</td></tr>”;
for ($index = 0; $index < count($polzovateli); $index++){
echo “<tr>”;
foreach ($polzovateli[$index] as $value){
echo “<td>” . $value . “</td>”;
}
echo “</tr>”;
}
echo “</table>”;
?>
Данный скрипт выведет на экран в виде удобной таблицы массив $polzovateli. Если Вам необходимо просмотреть структуру и значения элементов массива без красивого вывода, то используйте встроенную функцию print_r(). У нее следующий синтаксис:
bool print_r (mixed expression[, bool return]);
Пример использования на практике:
print_r ($polzovateli);
Рекомендуем самостоятельно поэксперементировать с данной php функцией.
Источник
PHP: Массивы
Работа с массивами практически всегда подразумевает итерацию по его элементам. Самый простой способ выполнить её — циклы.
Обход
<?php
$userNames = [‘petya’, ‘vasya’, ‘evgeny’];
for ($i = 0; $i < count($userNames); $i++) {
print_r(“{$userNames[$i]}n”);
}
// => petya
// => vasya
// => evgeny
https://repl.it/@hexlet/php-arrays-traversal-for-print
В данном коде создаётся массив из трёх элементов — имён. Далее в цикле происходит обход массива и вывод на экран всех имён так, что каждое имя оказывается на новой строке.
Рассмотрим этот этап подробнее. При обходе массива циклом for, как правило, счётчик играет роль индекса в массиве. Он инициализируется нулём и увеличивается до count($userNumbers) – 1, что соответствует индексу последнего элемента.
Интересно производится печать на экран. Элемент массива может участвовать в строковой интерполяции, а значит, мы можем сразу печатать и имя и перевод строки, используя такую конструкцию “{$userNames[$i]}n”.
А что, если нам нужно вывести значения в обратном порядке? Для этого есть два способа. Один — идти в прямом порядке, то есть от нулевого индекса до последнего, и каждый раз вычислять нужный индекс по такой формуле размер массива – 1 – текущее значение счётчика.
Но есть и другой способ. Можно просто идти от верхней границы к нижней. В такой ситуации код меняется на следующий:
<?php
$userNames = [‘petya’, ‘vasya’, ‘evgeny’];
for ($i = count($userNames) – 1; $i >= 0; $i–) {
print_r(“{$userNames[$i]}n”);
}
При таком обходе проверка остановки должна быть именно на >=, иначе пропустится элемент с индексом 0.
Изменение
Сам цикл при изменении остаётся тем же самым, меняется только его тело. Предположим, что перед нами стоит задача нормализации списка электронных адресов. Допустим, в нормализацию адресов входит приведение их к нижнему регистру. Тогда код будет выглядеть так:
<?php
$emails = [‘VASYA@gmAil.com’, ‘iGoR@yandex.RU’, ‘netiD@hot.CoM’];
print_r($emails);
// => Array
// => (
// => [0] => VASYA@gmAil.com
// => [1] => iGoR@yandex.RU
// => [2] => netiD@hot.CoM
// => )
for ($i = 0; $i < count($emails); $i++) {
# strtolower – стандартная функция php
$emails[$i] = strtolower($emails[$i]);
}
print_r($emails);
// => Array
// => (
// => [0] => vasya@gmail.com
// => [1] => igor@yandex.ru
// => [2] => netid@hot.com
// => )
https://repl.it/@hexlet/php-arrays-traversal-for-update
Ключевая строчка: $emails[$i] = strtolower($emails[$i]);. В ней происходит перезапись элемента под индексом $i. Иногда полезно создать промежуточную переменную для упрощения анализа кода:
<?php
$email = $emails[$i];
$emails[$i] = strtolower($email);
Инициализация цикла
При инициализации цикла for в круглых скобках располагаются три блока выражений, разделяемые символом ;.
Содержимое первого блока инициализации выполняется перед началом цикла и только один раз.
Второй блок определяет условие выполнения цикла и содержит выражение, которое вычисляется перед каждой очередной итерацией. Работа цикла продолжается, если это выражение возвращает true. Если же проверка оказывается ложной, цикл заканчивает свою работу.
В третьем блоке содержатся выражения, которые обрабатываются в конце итерации цикла. Обычно здесь происходит необходимое преобразование счётчика, например, инкремент.
<?php
$colors = [‘red’, ‘black’, ‘white’, ‘green’];
for ($i = 0; $i < count($colors); $i++) {
print_r(“{$colors[$i]}n”);
}
В процессе работы цикла выражение, которое содержится в блоке условий вычисляется заново. Это значит, что в нашем примере длина массива count($colors) будет вычисляться вновь и вновь при каждом проходе цикла. Так как сам массив остаётся неизменным, то повторное вычисление размера оказывается избыточным. Повторения операции можно избежать, если определить переменную за пределами цикла и присвоить ей необходимое значение.
<?php
$colors = [‘red’, ‘black’, ‘white’, ‘green’];
$length = count($colors);
for ($i = 0; $i < $length; $i++) {
print_r(“{$colors[$i]}n”);
}
Но существует более оптимальное решение: описать несколько выражений в блоке инициализации цикла for и разделить их запятыми. Это позволит не только избежать лишних вычислений, единожды определив значение length, но и ограничить переменную локальной областью видимости функции.
<?php
$colors = [‘red’, ‘black’, ‘white’, ‘green’];
for ($i = 0, $length = count($colors); $i < $length; print($i), $i++) {
print_r(“{$colors[$i]}n”);
}
// => red
// => 0black
// => 1white
// => 2green
// => 3
https://repl.it/@hexlet/php-arrays-for-initialize
А вот пример использования нескольких выражений в блоке изменения счётчика:
<?php
for ($i = 0; $i < 5; print(“$in”), $i++) {
// some code
}
// => 0
// => 1
// => 2
// => 3
// => 4
https://repl.it/@hexlet/php-arrays-for-increment
Рассмотренные блоки могут быть пустыми, при этом сохраняются разделители ;. Но так делать не рекомендуется. Все блоки должны полным и ясным образом описывать работу цикла.
Дополнительные материалы
- Официальная документация
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты.
Для полного доступа к курсу нужна профессиональная подписка
Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Получить доступ
Источник
PHP ÑÑок â 68
Cоздание одномеÑнÑÑ
маÑÑивов в PHP5.
ÐÑли говоÑиÑÑ ÑеловеÑеÑким ÑзÑком, Ñо маÑÑивом назÑваеÑÑÑ Ð½ÐµÐºÐ°Ñ
заÑезеÑвиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ, в коÑоÑой ÑпоÑÑдоÑено ÑодеÑжаÑÑÑ Ð´Ð°Ð½Ð½Ñе. ÐÑли взÑÑÑ,
напÑимеÑ, Ñеловека, Ñо Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ еÑÑÑ Ñвои ÑеÑÑÑ ÐºÐ°Ðº внеÑноÑÑи Ñак и Ñ
аÑакÑеÑа.
ÐопÑобÑем Ð¾Ñ ÑÑого оÑÑолкнÑÑÑÑÑ, пÑÐ¾Ð²ÐµÐ´Ñ Ð¿Ð°ÑаллелÑ.
ЧеÑÑÑ Ñ Ð°ÑакÑеÑа
- ÑмелÑй
- веÑнÑй
- добÑÑй
- веÑÑлÑй
- ÑилÑнÑй
ÐоÑ, в пÑинÑипе, Ð¼Ñ Ñоздали маÑÑив Ñ Ð´Ð°Ð½Ð½Ñми. Ðго ÑÑ
ема пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ
иденÑиÑна Ñ Ñем, как ÑодеÑжаÑÑÑ Ð´Ð°Ð½Ð½Ñе в ÑÑеке маÑÑива.
СÑек (англ. stack â ÑÑопка) â ÑÑÑÑкÑÑÑа даннÑÑ
Ñ Ð¼ÐµÑодом доÑÑÑпа к ÑлеменÑам LIFO (англ.
Last In â First Out, «поÑледним пÑиÑел â пеÑвÑм вÑÑел»). ЧаÑе вÑего пÑинÑип ÑабоÑÑ ÑÑека
ÑÑавниваÑÑ Ñо ÑÑопкой ÑаÑелок: ÑÑÐ¾Ð±Ñ Ð²Ð·ÑÑÑ Ð²ÑоÑÑÑ ÑвеÑÑ
Ñ, нÑжно взÑÑÑ Ð²ÐµÑÑ
нÑÑ.
ÐикипидеÑ
ÐÑе вÑÑепеÑеÑиÑленнÑе ÑвойÑÑва можно оÑнеÑÑи к Ñ
аÑакÑеÑÑ Ñеловека. Ð Ð²Ð¸Ð´Ñ ÑÑого
назовÑм маÑÑив -как и вÑÑ Ð½Ð° ÑвеÑе Ñоже Ð¸Ð¼ÐµÐµÑ Ð¸Ð¼Ñ- character (Ð¾Ñ ÑÑÑÑ. Ñ
аÑакÑеÑ).
ТепеÑÑ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÑаÑиÑÑÑÑ Ðº ÑÑÐ¾Ð¼Ñ ÑÑÐ¸ÐºÑ Ð¿Ð¾Ð´ именем character, нам обÑзаÑелÑно
ÑледÑÐµÑ ÑказаÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ñого Ñипа Ñ
аÑакÑеÑа, коÑоÑÑй нам нÑжно извлеÑÑ Ð¸Ð· ÑÑого
маÑÑива character.
ÐаÑÑив – поÑледоваÑелÑноÑÑÑ Ð¾Ð´Ð½Ð¾ÑипнÑÑ
ÑлеменÑов, ÑиÑло коÑоÑÑÑ
ÑикÑиÑовано и
коÑоÑÑм пÑиÑвоено одно имÑ. Ðоложение ÑлеменÑа в маÑÑиве однознаÑно опÑеделÑеÑÑÑ
его индекÑами. ÐÑделÑÑÑ Ð¾Ð´Ð½Ð¾Ð¼ÐµÑнÑе маÑÑÐ¸Ð²Ñ (векÑоÑа) и двÑмеÑнÑе маÑÑивÑ
(маÑÑиÑÑ).
ÐÐ½Ð´ÐµÐºÑ Ñакже назÑваÑÑ ÐºÐ»ÑÑом маÑÑива, ÑмÑÑл Ð¾Ñ ÑÑого не менÑеÑÑÑ.
РиндекÑом маÑÑива в данном пÑимеÑе ÑвлÑеÑÑÑ ÐµÐ³Ð¾ Ð½Ð¾Ð¼ÐµÑ ÑÑÑоки, Ñ.е. веÑнÑй имееÑ
Ð¸Ð½Ð´ÐµÐºÑ 2, веÑÑлÑй – Ð¸Ð½Ð´ÐµÐºÑ 4. Ðа ÑÑом Ñ Ð°Ð»Ð»ÐµÐ³Ð¾ÑиÑми пока законÑим, пеÑейдÑм Ñже к
ÑÐ°Ð¼Ð¾Ð¼Ñ ÑинÑакÑиÑÑ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð° ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð°ÑÑива.
ÐдномеÑнÑй маÑÑив
ÐиÑÑинг â 1 – ÐеÑвÑй ÑпоÑоб. СоздаÑм маÑÑив character
$character
[1] = “ÑмелÑй”;
$character[2] = “веÑнÑй”;
$character[3] = “добÑÑй”;
$character[4] = “веÑÑлÑй”;
$character[5] = “ÑилÑнÑй”;
// маÑÑив Ñоздан
// ÑÑо – маÑÑив, и в нÑм ÑодеÑжаÑÑÑ Ð²Ñе ÑеÑÑÑ Ñ
аÑакÑеÑа,
//коÑоÑÑе Ð¼Ñ Ð² него помеÑÑили
$character;
// ÑÑÐ¾Ð±Ñ Ð²ÑвеÑÑи какÑÑ-либо ÑеÑÑÑ Ñ
аÑакÑеÑа,
// ÑледÑÐµÑ Ð¾Ð±ÑаÑиÑÑÑÑ Ðº маÑÑивÑ, Ñказав на Ð¸Ð½Ð´ÐµÐºÑ – ÑÑо ÑиÑÑÑ
// в квадÑаÑнÑÑ
ÑкобкаÑ
echo $character[5]; // вÑÐ²ÐµÐ´ÐµÑ Ð½Ð° ÑкÑан – ÑилÑнÑй
?>
Такой ÑпоÑоб ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð°ÑÑивов на пÑакÑике пÑименÑеÑÑÑ Ñедко, его пÑакÑиÑноÑÑÑ
вÑзÑÐ²Ð°ÐµÑ Ñомнение, он ÑкоÑее подÑ
Ð¾Ð´Ð¸Ñ Ð² каÑеÑÑве пÑимеÑа, показа ÑÑÑÑкÑÑÑÑ
маÑÑива. РаÑÑмоÑÑим еÑÑ Ð¾Ð´Ð¸Ð½ ÑпоÑоб.
ÐиÑÑинг â 2 – ÐÑоÑой ÑпоÑоб. СоздаÑм маÑÑив Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии array
$character
= array(1=>’ÑмелÑй’,2=>’веÑнÑй’,3=>’добÑÑй’,4=>’веÑÑлÑй’,5=>’ÑилÑнÑй’);
// маÑÑив Ñоздан
echo $character[4]; // веÑÑлÑй
?>
ÐÑÐ¾Ñ ÑпоÑоб вÑглÑÐ´Ð¸Ñ Ñже более ÑаÑионалÑнÑм, Ñ
оÑÑ Ð´Ð¾ идеала Ñоже не доÑÑгиваеÑ.
ÐдеÑÑ Ð¼Ð°ÑÑив Ñоздан Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð²ÑÑÑоенной ÑÑнкÑии PHP array(). Ð ÑкобкаÑ
пÑиÑÑÑÑÑвÑÑÑ
паÑÑ Ð¸Ð½Ð´ÐµÐºÑ => знаÑение. Ðнак => – ÑвлÑеÑÑÑ ÑказаÑелем Ð´Ð»Ñ Ð¿ÑиÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑа
знаÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ наобоÑÐ¾Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ. РаÑÑмоÑÑим еÑÑ Ð¿ÑимеÑ.
ÐиÑÑинг â 3 – ТÑеÑий ÑпоÑоб. Создание маÑÑива Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии array без ÑказаÑелей
$character
= array(‘ÑмелÑй’,’веÑнÑй’,’добÑÑй’,’веÑÑлÑй’,’ÑилÑнÑй’);
// маÑÑив Ñоздан
echo $character[4]; // ÑилÑнÑй
?>
СÑавниÑе лиÑÑинг 2 и лиÑÑинг 3. ÐидиÑе ÑазниÑÑ Ð² вÑводе на мониÑоÑ?! Ðи какой оÑибки
здеÑÑ Ð½ÐµÑ, вÑÑ Ð³Ð¾Ñаздо пÑозаиÑней. СмоÑÑиÑе ниже лампоÑкÑ.
ÐÑе ÑÑÑÑÑики в пÑогÑаммиÑовании по ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ð°ÑинаÑÑ Ñвой оÑÑÑÑÑ Ñ Ð½ÑлÑ!
ТепеÑÑ Ð²ÑÑ Ð²ÑÑало на Ñвои меÑÑа, Ñ.е. без ÑказаÑÐµÐ»Ñ (=>) в ÑкобкаÑ
маÑÑива, знаÑениÑм
пÑиÑваиваеÑÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð¾ поÑÑдкÑ, наÑÐ¸Ð½Ð°Ñ Ñ Ð½ÑлÑ. ÐÑак, индекÑÑ Ð½Ð¾Ð»Ñ ÑооÑвеÑÑÑвÑеÑ
знаÑение ÑмелÑй (0=>ÑмелÑй) и Ñ.д. по поÑÑдкÑ.
ÐиÑÑинг â 4 – ЧеÑвÑÑÑÑй ÑпоÑоб. Создание маÑÑива Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии array Ñ ÑказаÑелем и без
ÑказаÑелÑ
$character
= array(‘ÑмелÑй’,4 =>’веÑнÑй’,’добÑÑй’,2 =>’веÑÑлÑй’,’ÑилÑнÑй’);
// маÑÑив Ñоздан
echo $character[0]; // ÑмелÑй
echo $character[1]; // пÑÑÑо
echo $character[2]; // веÑÑлÑй
echo $character[3]; // пÑÑÑо
echo $character[4]; // веÑнÑй
echo $character[5]; // добÑÑй
echo $character[6]; // ÑилÑнÑй
?>
Ð ÑÑом пÑимеÑе на пеÑвÑй взглÑд непонÑÑно ÑÑо оÑкÑда беÑÑÑÑÑ, но вÑÑ Ð·Ð°ÐºÐ»ÑÑено в
абÑолÑÑнÑÑ Ð»Ð¾Ð³Ð¸ÐºÑ. ÐопÑобÑем ÑазобÑаÑÑÑÑ: ÑÑÑÑ Ð²ÐµÐ´ÑÑÑÑ Ð² ÑкобкаÑ
, ÑÑда
поÑмаÑÑиваем и вникаем.
- ÑмелÑй – по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑиÑваиваеÑÑÑ Ð½Ð¾Ð»Ñ (не Ð¸Ð¼ÐµÐµÑ ÑказаÑÐµÐ»Ñ Ð½Ð° индекÑ)
- веÑнÑй – Ð¸Ð¼ÐµÐµÑ ÑказаÑÐµÐ»Ñ Ð½Ð° Ð¸Ð½Ð´ÐµÐºÑ 4, Ñ Ð¾ÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ 1 =>
- добÑÑй – по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ Ð¸Ð½Ð´ÐµÐºÑ 2 =>, но Ð¸Ð½Ð´ÐµÐºÑ 2 пÑинÑдиÑелÑно пÑиÑвоен
ÑÐ¸Ð¿Ñ Ñ Ð°ÑакÑеÑа “веÑÑлÑй” - веÑÑлÑй – вÑÑ Ð¿Ð¾Ð½ÑÑно, Ð¸Ð¼ÐµÐµÑ Ð²ÑоÑой индекÑ
- ÑилÑнÑй – по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð¸Ð½Ð´ÐµÐºÑ 4, но он Ñже занÑÑ.
Следом за ÑеÑвÑÑкой идÑÑ ÑиÑÑа 5 и пеÑвÑй непÑоиндекÑиÑованнÑй Ñип Ñ Ð°ÑакÑеÑа,
Ñледом за ÑеÑвÑÑÑÑм индекÑом – идÑÑ “добÑÑй” – Ð¸Ð½Ð´ÐµÐºÑ 5, а Ñледом еÑÑ Ð½Ðµ имеÑÑим
индекÑа, идÑÑ Ñип Ñ Ð°ÑакÑеÑа ÑилÑнÑй – он и бÑÐ´ÐµÑ Ñ ÑеÑÑÑÑкой.
Ðа ÑÑом ÑÑок законÑен.
SETTER © LPHP.RU
ÐдминиÑÑÑаÑÐ¸Ñ ÑайÑа
19.07.2009 01:59:32
ÐомменÑаÑии
Ðо
07.10.2012 20:12:40
УÑок Ð´Ð¾Ñ Ð¾Ð´ÑивÑй, ÑпаÑибо!
ÐонÑÑанÑин
24.07.2013 08:25:52
ÑÑÐ¿ÐµÑ ÑÑÐ¿ÐµÑ Ð²Ñе понÑÑно, ÑпаÑибо
Источник