Меню

Първи стъпки в правене на сайтове

Влез Излез

Масиви в PHP (част 1)

В програмирането доста често се налага да работим със списъци от данни. Примерно – ако програмата ни е свързана със събития, можем като списък да пазим поканените гости, а ако имаме RSVP функционалност можем да пазим и списък с тези, които са потвърдили присъствието си. Във Facebook към всяка снимка имаме списък с хора, които са тагнати в нея.

Тези списъци в програмирането се наричат масиви. В този урок ще разгледаме някои основни неща за масивите в PHP.

Масивите ни дават възможност да запазим няколко стойности в една променлива. В PHP можем да създадем нов масив като напишем просто:

$my_var_name = array();

Това би направило празен масив.

Можем още при създаването му да му зададем и някакви стойности (като ги отделяме със запетаи):

$days_of_week = array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday');

Масивите се характеризират с това, че всеки елемент от тях си има ключ. По принцип това е поредния номер на елемента в масива.

Забележка: важно е да се отбележи, че номерирането на елементите в масива започва от 0. Терминът за това е „нулево индексиране“.

Така, ако искаме да вземем третия ден от седмицата от горния масив ще трябва да напишем:

echo $days_of_week[2]; // това ще изведе "Wednesday"

В PHP с помощта на функциите count() и sizeof() можем да разберем колко елемента има в един масив, а от там и лесно да приложим for цикъл, с който да обходим всички елементи в масива и да ги обработим по някакъв начин:

$days_of_week = array(
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursday',
    'Friday',
    'Saturday',
    'Sunday'
);

echo '<ul>';

for ($i = 0; $i < count($days_of_week); $i++) {
    echo '<li>' . $days_of_week[$i] . '</li>';
}

echo '</ul>';

Резултатът от горното би бил просто:

<ul>
    <li>Monday</li>
    <li>Tuesday</li>
    <li>Wednesday</li>
    <li>Thursday</li>
    <li>Friday</li>
    <li>Saturday</li>
    <li>Sunday</li>
</ul>

Специално за работа с масиви в PHP е по-удобно да се използва foreach синтаксис:

$days_of_week = array(
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursday',
    'Friday',
    'Saturday',
    'Sunday'
);

echo '<ul>';

foreach($days_of_week as $day) {
    echo '<li>' . $day . '</li>';
}

echo '</ul>';

В общи линии казваме на PHP променливата със следващ индекс да бъде записана в променлива с дадено име, така че да можем да използваме просто това име, вместо да пишем името на масива с квадратни скоби и индекса.

В следващата част от урока ще говорим и за това как можем сами да назначим ключове на масива, вместо да разчитаме на основните.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax