ICQ - форум. Всё про ICQ.  

Вернуться   ICQ - форум. Всё про ICQ. > Мастерская > Программирование > Web-программирование > Уроки Perl/PHP

 
 
Опции темы Оценить тему
Старый 01.04.2009, 18:20   #1
Участник заблокирован
 
Регистрация: 11.12.2007
Сообщений: 935

Репутация: 1508
По умолчанию [php] Простые массивы


Простые массивы


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

Что такое массив?
Грубо говоря, массив - это переменная, в которой хранятся другие переменные.

Для чего вообще нужны массивы?

Во-первых, массивы нужны для оптимизации кода.
Во-вторых, без массивов просто напросто невозможно написать некоторые функции.
В третьих, массивы очень простая штука, которая очень сильно помогает во многих вещах.

Давайте разберем такой пример.
У вас в саду растут: яблоки, груши, вишня, черешня, виноград.
Нам нужно вывести построчно названия каждого из фруктов в окно браузера.


Без знаний массивов вы бы сделали это вот таким образом:

PHP код:
<?
$fruit1 
"яблоки";
$fruit2 "груши";
$fruit3 "вишня";
$fruit4 "черешня";
$fruit5  "виноград";

echo 
$fruit1."<br>";
echo 
$fruit2."<br>";
echo 
$fruit3."<br>";
echo 
$fruit4."<br>";
echo 
$fruit5."<br>";

?>
В окно выведится:

Код:
яблоки
груши
вишня
черешня
виноград
Как видите код получается очень длинным и не оптимизированным.
Давайте попробуем применить массивы.


PHP код:
<?
$fruits 
= array("яблоки","груши","вишня","черешня","виноград");
$size sizeof($fruits)
for(
$i 0;$i != $size ;$i++){
echo 
$fruits[$i]."<br>";
}
?>
И так, что же мы видим?

$fruits = array("яблоки","груши","вишня" ,"черешня","виноград");
Здесь мы создаем сам массив, в каждую клетку которого вставляем каждое название фрукта.

for($i = 0;$i != sizeof($fruits);$i++)
Создаем цикл(loop)

$i = 0; - Присваеваем переменной $i значение 0, т.к. первая клетка массива начинается с нуля, а не с еденицы, как в языке BASIC.

$i != $size; - Продолжаем цикл до тех пор, пока переменная $i не станет равна количеству клеток массива $fruits. Одним словом функция sizeof() определяет длинну массива.

$i++; - после каждого прохода цикла от начала до конца, при новом начале прохода прибавляем к переменной $i еденицу.

echo $fruits[$i]."<br>"; - Выводим в окно браузера фрукт по его номеру. Не забываем что отсчет начинается с 0!

Надеюсь эта статья вам хоть немного помогла.

В продолжение статьи - СЛОЖНЫЕ МАССИВЫ.

Ваш Капча :)

Последний раз редактировалось Capcha; 03.02.2010 в 02:03.
Capcha вне форума  
Старый 01.04.2009, 18:49   #2
Участник
 
Аватар для Rpsl
 
Регистрация: 08.03.2007
Сообщений: 331

По умолчанию

Цитата:
for($i = 0;$i != sizeof($fruits);$i++){
это чё за ***ня? foreach для чего?
__________________
Rpsl.info
Rpsl вне форума  
Старый 01.04.2009, 21:07   #3
Участник заблокирован
 
Регистрация: 11.12.2007
Сообщений: 935

Репутация: 1508
По умолчанию

Rpsl, "Простые массивы" => что человек - новичек.
В след. теме будут сложные массивы + foreach();

У меня все расписано до мелочей, какие уроки выложить и расчитаны по мере изучения языка.


З.Ы. А если с середины массива что-то вырывать, то тут foreach не совсем подходит.

Последний раз редактировалось Capcha; 01.04.2009 в 21:12.
Capcha вне форума  
Старый 02.04.2009, 17:53   #4
Участник
 
Аватар для Rpsl
 
Регистрация: 08.03.2007
Сообщений: 331

По умолчанию

Capcha, ты молодец, что всё это пишешь и большой тебе респект. Меня волнует только то, что на подобных уроках выростет новое поколение говнокодеров.

Цитата:
Сообщение от Capcha Посмотреть сообщение
for($i = 0;$i != sizeof($fruits);$i++){
Не смотря на то, что этот пример есть на php.net, не стоит никогда его использоваться. Во первых есть foreach, что разумно.
Во вторых, раз уж на то пошло, то определи число элементов заранее, а не каждый раз дергай подсчет.

Мои придирки могут показаться глупыми, но когда речь идет о проектах более чем с 20 посетителями в день и выборками более 100 записей, это уже становится существенным.
__________________
Rpsl.info
Rpsl вне форума  
Старый 02.04.2009, 18:18   #5
Участник заблокирован
 
Регистрация: 11.12.2007
Сообщений: 935

Репутация: 1508
По умолчанию

Цитата:
Сообщение от Rpsl Посмотреть сообщение
Во вторых, раз уж на то пошло, то определи число элементов заранее, а не каждый раз дергай подсчет.
Вот тут ты прав, первый пост поправлен.

Последний раз редактировалось Capcha; 02.04.2009 в 21:06.
Capcha вне форума  
Старый 02.04.2009, 19:07   #6
Участник
 
Аватар для .creo
 
Регистрация: 28.05.2007
Сообщений: 867

Репутация: 1236
По умолчанию

Цитата:
Сообщение от Capcha Посмотреть сообщение
З.Ы. Очень даже люблю, когда меня критикуют.
перестань писать голубым цветом.

//ok

Последний раз редактировалось Capcha; 02.04.2009 в 21:09.
.creo вне форума  
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 21:02.


Перевод: zCarot
Форум Асечников © Asechka.RU

Новости Сочи