Практическая работа 2. Управляющие конструкции

Задача 1

 

Если переменная $a равна 10, то выведите 'Верно', иначе выведите 'Неверно'.

Решение:


                     $a = 10;
                     if ($a == 10) {
                      echo 'Верно';
                     } else {
                      echo 'Неверно';
                     }
                    
                

Переменная a равна 10, выражение - верно

Задача 2

В переменной $min лежит число от 0 до 59. Определите в какую четверть часа попадает это число (в первую, вторую, третью или четвертую).

Решение:


                     $min = 10;

                     if ($min >= 0 and $min <= 14) {
                      echo 'В первую четверть.';
                     }

                     if ($min <= 15 and $min >= 30) {
                      echo 'Во вторую четверть.';
                     }

                     if ($min <= 31 and $min >= 45) {
                      echo 'В третью четверть.';
                     }

                     if ($min >= 46 and $min <= 59) {
                      echo 'В четвертую четверть.';
                     }
                

10 минут входит в первую четверть часа.

Задача 3

 

Дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо вывести на экран фразу 'Привет, мир!'.

Решение:


                     //Выведем фразу 'Привет, мир!':
                     $arr = ['Привет, ', 'мир', '!'];
                     echo $arr[0].$arr[1].$arr[2];
                

Привет, мир!

Разберем это решение.

Слово 'Привет, ' хранится под номером 0, это значит, что для доступа к нему мы должны написать $arr[0].
Для доступа к слову 'мир' мы должны написать $arr[1], а $arr[2] содержит в себе '!'. Далее с помощью оператора 'точка' мы сложим три наши строки ('Привет, ', 'мир' и '!') в одну строку таким образом: $arr[0].$arr[1].$arr[2], и выведем на экран с помощью echo.

Задача 4

 

Решим немного другую задачу: дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо записать в переменную $text фразу 'Привет, мир!', а затем вывести на экран содержимое этой переменной.

Решение:


                     $arr = ['Привет, ', 'мир', '!'];
                     $text = $arr[0].$arr[1].$arr[2];

                     /*
                      В переменной $text теперь лежит строка 
                      'Привет, мир!'. Выведем ее на экран:
                     */
                     echo $text;
                

Привет, мир!

Задача 5

 

Дан массив ['Привет, ', 'мир', '!']. Необходимо записать в первый элемент (то есть элемент с номером ноль) этого массива слово 'Пока, ' (то есть вместо слова 'Привет, ' будет 'Пока, ').

Решение:


                     $arr = ['Привет, ', 'мир', '!'];
                     //перезапишем первый элемент массива
                     $arr[0] = 'Пока, '; 
                     /*
                     посмотрим на массив и убедимся в том, 
                     что он изменился
                     */
                     var_dump($arr); 
                     echo $arr[0].$arr[1].$arr[2]
                
array(3) { [0]=> string(10) "Пока, " [1]=> string(6) "мир" [2]=> string(1) "!" }

Пока, мир!

Ассоциативные массивы

Задача 6

Создайте массив заработных плат $arr. Выведите на экран зарплату Пети и Коли.


                     //Этот массив дан:
                     $arr = ['Коля'=>'1000$', 
                             'Вася'=>'500$', 
                             'Петя'=>'200$'];
                

Решение:

 

чтобы вывести зарплату Коли следует вывести значение элемента массива с ключом 'Коля'. Сделаем это:


                     $arr = ['Коля'=>'1000$', 
                             'Вася'=>'500$', 
                             'Петя'=>'200$'];
                     echo $arr['Коля']; //выведет 1000$
                

1000$

Способы создания массива

Задача 7

 

Создайте массив $arr с элементами 1, 2, 3, 4, 5 двумя различными способами.

Решение:

Первый способ создать массив - объявить его через []:


                     $arr = [1, 2, 3, 4, 5];
                

Второй способ создания массива - это поступить таким образом:


                     $arr[] = 1;
                     $arr[] = 2;
                     $arr[] = 3;
                     $arr[] = 4;
                     $arr[] = 5;
                

Многомерный массив

Задача 8

 

Дан многомерный массив $arr:


                    $arr = [
                     'ru'=>['голубой', 'красный', 'зеленый'],
                     'en'=>['blue', 'red', 'green'],
                    ];
                

Выведите с его помощью слово 'голубой'.

Решение:

 

так как массив многомерный (в нашем случае двухмерный), то нам придется написать несколько квадратных скобок подряд. Поясню это по шагам. Давайте сделаем так:


                     var_dump($arr['ru']);
                
array(3) { [0]=> string(14) "голубой" [1]=> string(14) "красный" [2]=> string(14) "зеленый" }


В этом случае результатом будет массив ['голубой','красный', 'зеленый'], который является частью нашего многомерного массива. Чтобы вывести слово 'голубой', на необходимо дописать еще одну квадратную скобку с ключом, соответствующим этому элементу (у него нет явного ключа - значит его ключ 0):


                     echo $arr['ru'][0]; //выведет 'голубой'
                
голубой


Выведем теперь слово 'красный':


                     echo $arr['ru'][1]; //выведет 'красный'
                
красный


Выведем 'red':


                     echo $arr['en'][1]; //выведет 'red'
                
red

Задача 9

Переменная $lang может принимать два значения: 'ru' и 'en'. Если она имеет значение 'ru', то в переменную $arr запишем массив дней недели на русском языке, а если имеет значение 'en' – то на английском. Решите задачу через 2 if, через switch-case и через многомерный массив без ифов и switch.

Решение:

Решение через 2 if:


                     $lang = 'ru';

                     if ($lang == 'ru') {
                      $arr = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'];
                     }
                     if ($lang == 'en') {
                      $arr = ['mn', 'ts', 'wd', 'th', 'fr', 'st', 'sn'];
                     }

                     var_dump($arr);
                
array(7) { [0]=> string(4) "пн" [1]=> string(4) "вт" [2]=> string(4) "ср" [3]=> string(4) "чт" [4]=> string(4) "пт" [5]=> string(4) "сб" [6]=> string(4) "вс" }


Решение через switch-case:


                     $lang = 'ru';

                     switch ($lang) {
                      case 'ru':
                       $arr = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'];
                      break;
                      case 'en':
                       $arr = ['mn', 'ts', 'wd', 'th', 'fr', 'st', 'sn'];
                      break;
                     }

                     var_dump($arr);
                
array(7) { [0]=> string(4) "пн" [1]=> string(4) "вт" [2]=> string(4) "ср" [3]=> string(4) "чт" [4]=> string(4) "пт" [5]=> string(4) "сб" [6]=> string(4) "вс" }


Решение через многомерный массив:


                         $lang = 'ru';

                         $arr = [
                          'ru'=>['пн', 'вт', 'ср','чт', 'пт', 'сб', 'вс'],
                          'en'=>['mn', 'ts', 'wd', 'th', 'fr', 'st', 'sn'],
                         ];

                         var_dump($arr[$lang]);
                
array(7) { [0]=> string(4) "пн" [1]=> string(4) "вт" [2]=> string(4) "ср" [3]=> string(4) "чт" [4]=> string(4) "пт" [5]=> string(4) "сб" [6]=> string(4) "вс" }

Задачи для решения

Работа с if-else

  1. Если переменная $a равна нулю, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 0, -3.
    
                            $a=1;
                            if ($a==0) {
                                print "

    ".$a." = 0, выражение верное"; } else { print "

    ".$a." = 0, выражение неверное"; } $a=0; if ($a==0) { print "

    ".$a." = 0, выражение верное"; } else { print "

    ".$a." = 0, выражение неверное"; } $a=-3; if ($a==0) { print "

    ".$a." = 0, выражение верное"; } else { print "

    ".$a." = 0, выражение неверное"; }

    1 = 0, выражение неверное

    0 = 0, выражение верное

    -3 = 0, выражение неверное

  2. Если переменная $a больше нуля, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 0, -3.
    
                            $a=1;
                            if ($a>0) {
                                print "

    ".$a." > 0, выражение верное"; } else { print "

    ".$a." > 0, выражение неверное"; } $a=0; if ($a>0) { print "

    ".$a." > 0, выражение верное"; } else { print "

    ".$a." > 0, выражение неверное"; } $a=-3; if ($a>0) { print "

    ".$a." > 0, выражение верное"; } else { print "

    ".$a." > 0, выражение неверное"; }

    1 > 0, выражение верное

    0 > 0, выражение неверное

    -3 > 0, выражение неверное

  3. Если переменная $a меньше нуля, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 0, -3.
    
                            $a=1;
                            if ($a < 0) {
                                print "

    ".$a." < 0, выражение верное"; } else { print "

    ".$a." < 0, выражение неверное"; } $a=0; if ($a<0) { print "

    ".$a." < 0, выражение верное"; } else { print "

    ".$a." < 0, выражение неверное"; } $a=-3; if ($a<0) { print "

    ".$a." < 0, выражение верное"; } else { print "

    ".$a." < 0, выражение неверное"; }

    1 < 0, выражение неверное

    0 < 0, выражение неверное

    -3 < 0, выражение верное

  4. Если переменная $a больше или равна нулю, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 0, -3.
    
                            $a=1;
                            if ($a>=0) {
                                print "

    ".$a." >= 0, выражение верное"; } else { print "

    ".$a." >= 0, выражение неверное"; } $a=0; if ($a>=0) { print "

    ".$a." >= 0, выражение верное"; } else { print "

    ".$a." >= 0, выражение неверное"; } $a=-3; if ($a>=0) { print "

    ".$a." >= 0, выражение верное"; } else { print "

    ".$a." >= 0, выражение неверное"; }

    1 >= 0, выражение верное

    0 >= 0, выражение верное

    -3 >= 0, выражение неверное

  5. Если переменная $a меньше или равна нулю, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 0, -3.
    
                            $a=1;
                            if ($a<=0) {
                                print "

    ".$a." <= 0, выражение верное"; } else { print "

    ".$a." <= 0, выражение неверное"; } $a=0; if ($a<=0) { print "

    ".$a." <= 0, выражение верное"; } else { print "

    ".$a." <= 0, выражение неверное"; } $a=-3; if ($a<=0) { print "

    ".$a." <= 0, выражение верное"; } else { print "

    ".$a." <= 0, выражение неверное"; }

    1 <= 0, выражение неверное

    0 <= 0, выражение верное

    -3 <= 0, выражение неверное

  6. Если переменная $a не равна нулю, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 0, -3.
    
                            $a=1;
                            if ($a!=0) {
                                print "

    ".$a." != 0, выражение верное"; } else { print "

    ".$a." != 0, выражение неверное"; } $a=0; if ($a!=0) { print "

    ".$a." != 0, выражение верное"; } else { print "

    ".$a." != 0, выражение неверное"; } $a=-3; if ($a!=0) { print "

    ".$a." != 0, выражение верное"; } else { print "

    ".$a." != 0, выражение неверное"; }

    1 != 0, выражение верное

    0 != 0, выражение неверное

    -3 != 0, выражение верное

  7. Если переменная $a равна 'test', то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 'test', 'тест', 3.
    
                            $a='test';
                            if ($a=='test') {
                                print "

    ".$a." = 'test', выражение верное"; } else { print "

    ".$a." = 'test', выражение неверное"; } $a='тест'; if ($a=='test') { print "

    ".$a." = 'test', выражение верное"; } else { print "

    ".$a.">= 'test', выражение неверное"; } $a=3; if ($a=='test') { print "

    ".$a." = 'test', выражение верное"; } else { print "

    ".$a." = 'test', выражение неверное"; }

    test = 'test', выражение верное

    тест>= 'test', выражение неверное

    3 = 'test', выражение неверное

  8. Если переменная $a равна '1' и по значению и по типу, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном '1', 1, 3.
    
                            $a='1';
                            if ($a==='1') {
                                print "

    ".$a." = '1', выражение верное"; } else { print "

    ".$a." = '1', выражение неверное"; } $a=1; if ($a==='1') { print "

    ".$a." = '1', выражение верное"; } else { print "

    ".$a.">= '1', выражение неверное"; } $a=3; if ($a==='1') { print "

    ".$a." = '1', выражение верное"; } else { print "

    ".$a." = '1', выражение неверное"; }

    1 = '1', выражение верное

    1 = '1', выражение неверное

    3 = '1', выражение неверное

Работа с empty и isset

  1. Если переменная $a пустая, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 1, 3, -3, 0, null, true, '', '0'.
    
                            $arr = [1, 3, -3, 0, null, true, '', '0'];
                            $i=0;
                            while ($i<8) {
                                if (empty($arr[$i])) {
                                    print "

    Переменная 'a' = ".$arr[$i]." пустая - выражение верно

    "; } else { print "

    Переменная 'a' = ".$arr[$i]." пустая - выражение неверно

    "; } $i++; }

    Переменная 'a' = 1 пустая - выражение неверно

    Переменная 'a' = 3 пустая - выражение неверно

    Переменная 'a' = -3 пустая - выражение неверно

    Переменная 'a' = 0 пустая - выражение верно

    Переменная 'a' = пустая - выражение верно

    Переменная 'a' = 1 пустая - выражение неверно

    Переменная 'a' = пустая - выражение верно

    Переменная 'a' = 0 пустая - выражение верно

  2. Если переменная $a НЕ пустая, то выведите 'Верно', иначе выведите 'Неверно'.
    
                            $arr = [1, 3, -3, 0, null, true, '', '0'];
                            $i=0;
                            while ($i<8) {
                                if (!empty($arr[$i])) {
                                    print "

    Переменная 'a' = ".$arr[$i]." не пустая - выражение верно

    "; } else { print "

    Переменная 'a' = ".$arr[$i]." не пустая - выражение неверно

    "; } $i++; }

    Переменная 'a' = 1 не пустая - выражение верно

    Переменная 'a' = 3 не пустая - выражение верно

    Переменная 'a' = -3 не пустая - выражение верно

    Переменная 'a' = 0 не пустая - выражение неверно

    Переменная 'a' = не пустая - выражение неверно

    Переменная 'a' = 1 не пустая - выражение верно

    Переменная 'a' = не пустая - выражение неверно

    Переменная 'a' = 0 не пустая - выражение неверно

  3. Если переменная $a существует, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 3 и null.
    
                            $a=3;
                            if (isset($a)) {
                                    print "

    Переменная 'a' = 3 существует - выражение верно

    "; } else { print "

    Переменная 'a' = 3 существует - выражение неверно

    "; } $i++; } $a=null; if (isset($a)) { print "

    Переменная 'a' = null существует - выражение верно

    "; } else { print "

    Переменная 'a' = null существует - выражение неверно

    "; } $i++; }

    Переменная 'a' = 3 существует - выражение верно

    Переменная 'a' = null существует - выражение неверно

  4. Если переменная $a НЕ существует, то выведите 'Верно', иначе выведите 'Неверно'.
    
                            $a=3;
                            if (!isset($a)) {
                                print "

    Переменная 'a' = 3 не существует - выражение верно

    "; } else { print "

    Переменная 'a' = 3 не существует - выражение неверно

    "; } $a=null; if (!isset($a)) { print "

    Переменная 'a' = null не существует - выражение верно

    "; } else { print "

    Переменная 'a' = null не существует - выражение неверно

    "; }

    Переменная 'a' = 3 не существует - выражение неверно

    Переменная 'a' = null не существует - выражение верно

Работа с логическими переменными

  1. Если переменная $var равна true, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $var, равном true, false. Напишите два варианта скрипта - с короткой записью и с длинной.

    Короткая запись
    
                            $var=true;
                            if ($var) {
                                print "

    Переменная var (true) = true - выражение верно

    "; } else { print "

    Переменная var (true) = true - выражение не верно

    "; } $var=false; if ($var) { print "

    Переменная var (false) = true - выражение верно

    "; } else { print "

    Переменная var (false) = true - выражение не верно

    "; }

    Переменная var (true) = true - выражение верно

    Переменная var (false) = true - выражение не верно



    Длинная запись
    
                            $var=true;
                            if ($var === TRUE) {
                                print "

    Переменная var (true) = true - выражение верно

    "; } else { print "

    Переменная var (true) = true - выражение не верно

    "; } $var=false; if ($var === TRUE) { print "

    Переменная var (false) = true - выражение верно

    "; } else { print "

    Переменная var (false) = true - выражение не верно

    "; }

    Переменная var (true) = true - выражение верно

    Переменная var (false) = true - выражение не верно

  2. Если переменная $var НЕ равна true, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $var, равном true, false. Напишите два варианта скрипта - с короткой записью и с длинной.

    Короткая запись
    
                            $var=true;
                            if (!$var) {
                                print "

    Переменная var (true) не равна true - выражение верно

    "; } else { print "

    Переменная var (true) не равна true - выражение не верно

    "; } $var=false; if (!$var) { print "

    Переменная var (false) не равна true - выражение верно

    "; } else { print "

    Переменная var (false) не равна true - выражение не верно

    "; }

    Переменная var (true) не равна true - выражение не верно

    Переменная var (false) не равна true - выражение верно



    Длинная запись
    
                            $var=true;
                            if ($var !== TRUE) {
                                print "

    Переменная var (true) не равна true - выражение верно

    "; } else { print "

    Переменная var (true) не равна true - выражение не верно

    "; } $var=false; if ($var !== TRUE) { print "

    Переменная var (false) не равна true - выражение верно

    "; } else { print "

    Переменная var (false) не равна true - выражение не верно

    "; }

    Переменная var (true) не равна true - выражение не верно

    Переменная var (false) не равна true - выражение верно

Работа с OR и AND

  1. Если переменная $a больше нуля и меньше 5-ти, то выведите 'Верно', иначе выведите 'Неверно'. Проверьте работу скрипта при $a, равном 5, 0, -3, 2.
    
                            $arr = [5, 0, -3, 2];
                            $i=0;
                            while ($i<4) {
                                if ($arr[$i] > 0 and $arr[$i] < 5) {
                                    print "

    ".$arr[$i]." больше 0 и меньше 5 - условие выполнено

    "; } else { print "

    ".$arr[$i]." больше 0 и меньше 5 - условие не выполнено

    "; } $i++; }

    5 больше 0 и меньше 5 - условие не выполнено

    0 больше 0 и меньше 5 - условие не выполнено

    -3 больше 0 и меньше 5 - условие не выполнено

    2 больше 0 и меньше 5 - условие выполнено

  2. Если переменная $a равна нулю или равна двум, то прибавьте к ней 7, иначе поделите ее на 10. Выведите новое значение переменной на экран. Проверьте работу скрипта при $a, равном 5, 0, -3, 2.
    
                            $arr = [5, 0, -3, 2];
                            $i=0;
                            while ($i<4) {
                                if ($arr[$i] == 0 or $arr[$i] == 2) {
                                    $a = $arr[$i]+7;
                                    print "

    ".$arr[$i]." равна 0 или 2 - добавим 7 = ".$a."

    "; } else { $a = $arr[$i] / 10; print "

    ".$arr[$i]." не равна 0 или 2 - делим на 10 = ".$a."

    "; } $i++; }

    5 не равна 0 или 2 - делим на 10 = 0.5

    0 равна 0 или 2 - добавим 7 = 7

    -3 не равна 0 или 2 - делим на 10 = -0.3

    2 равна 0 или 2 - добавим 7 = 9

  3. Если переменная $a равна или меньше 1, а переменная $b больше или равна 3, то выведите сумму этих переменных, иначе выведите их разность (результат вычитания). Проверьте работу скрипта при $a и $b, равном 1 и 3, 0 и 6, 3 и 5.
    
                            $arr_a = [1, 0, 3];
                            $arr_b = [3, 6, 5];
                            $ia=0;
                            $ib=0;
                            while ($ia < 3) {
                                while ($ib < 3) {
                                    if ($arr_a[$ia] <= 1 and $arr_b[$ib] >=3) {
                                        $res = $arr_a[$ia] + $arr_b[$ib];
                                        print "

    При a = ".$arr_a[$ia]." и b = ".$arr_b[$ib]." выводим сумму, равную ".$res."

    "; } else { $res = $arr_a[$ia] - $arr_b[$ib]; print "

    При a = ".$arr_a[$ia]." и b = ".$arr_b[$ib]." выводим разность a и b, равную ".$res."

    "; } $ib++; } $ia++; $ib = 0; }

    При a = 1 и b = 3 выводим сумму, равную 4

    При a = 1 и b = 6 выводим сумму, равную 7

    При a = 1 и b = 5 выводим сумму, равную 6

    При a = 0 и b = 3 выводим сумму, равную 3

    При a = 0 и b = 6 выводим сумму, равную 6

    При a = 0 и b = 5 выводим сумму, равную 5

    При a = 3 и b = 3 выводим разность a и b, равную 0

    При a = 3 и b = 6 выводим разность a и b, равную -3

    При a = 3 и b = 5 выводим разность a и b, равную -2

  4. Если переменная $a больше 2-х и меньше 11-ти, или переменная $b больше или равна 6-ти и меньше 14-ти, то выведите 'Верно', в противном случае выведите 'Неверно'.
    
                            $arr_a = [1, 0, 3, 12];
                            $arr_b = [3, 6, 5, 14];
                            $ia=0;
                            $ib=0;
                            while ($ia < 4) {
                                while ($ib < 4) {
                                    if (($arr_a[$ia] > 2 and $arr_a[$ia] < 11) 
                                            or ($arr_b[$ib] >= 6 and $arr_b[$ib] < 14)) {
                                        print "

    При a = ".$arr_a[$ia]." и b = ".$arr_b[$ib]." выражение удовлетворяет условиям

    "; } else { print "

    При a = ".$arr_a[$ia]." и b = ".$arr_b[$ib]." выражение не удовлетворяет условиям

    "; } $ib++; } $ia++; $ib = 0; }

    При a = 1 и b = 3 выражение не удовлетворяет условиям

    При a = 1 и b = 6 выражение удовлетворяет условиям

    При a = 1 и b = 5 выражение не удовлетворяет условиям

    При a = 1 и b = 14 выражение не удовлетворяет условиям

    При a = 0 и b = 3 выражение не удовлетворяет условиям

    При a = 0 и b = 6 выражение удовлетворяет условиям

    При a = 0 и b = 5 выражение не удовлетворяет условиям

    При a = 0 и b = 14 выражение не удовлетворяет условиям

    При a = 3 и b = 3 выражение удовлетворяет условиям

    При a = 3 и b = 6 выражение удовлетворяет условиям

    При a = 3 и b = 5 выражение удовлетворяет условиям

    При a = 3 и b = 14 выражение удовлетворяет условиям

    При a = 12 и b = 3 выражение не удовлетворяет условиям

    При a = 12 и b = 6 выражение удовлетворяет условиям

    При a = 12 и b = 5 выражение не удовлетворяет условиям

    При a = 12 и b = 14 выражение не удовлетворяет условиям

На switch-case

  1. Переменная $num может принимать одно из значений: 1, 2, 3 или 4. Если она имеет значение '1', то в переменную $result запишем 'зима', если имеет значение '2' – 'лето' и так далее. Решите задачу через switch-case.
    
                            $arr = [1, 2, 3, 4];
                            $i = 0;
                            while ($i < 4) {
                                switch ($arr[$i]) {
                                    case 1:
                                        $result = 'зима';
                                    break;
                                    case 2:
                                        $result = 'весна';
                                    break;
                                    case 3:
                                        $result = 'лето';
                                    break;
                                    case 4:
                                        $result = 'осень';
                                    break;
                                    default:
                                        $result = 'неизвестно';
                                    break;
                                }
                                print "

    значение переменной - ".$arr[$i]." соответствует периоду - «".$result."»

    "; $i++; }

    значение переменной - 1 соответствует периоду - «зима»

    значение переменной - 2 соответствует периоду - «весна»

    значение переменной - 3 соответствует периоду - «лето»

    значение переменной - 4 соответствует периоду - «осень»

    значение переменной - 5 соответствует периоду - «неизвестно»

Работа с массивами

  1. Создайте массив $arr=['a', 'b', 'c']. Выведите значение массива на экран с помощью функции var_dump().
    
                            $arr=['a', 'b', 'c'];
                            var_dump ($arr);
                        
    array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" }
  2. С помощью массива $arr из предыдущего номера выведите на экран содержимое первого, второго и третьего элементов.
    
                            $arr=['a', 'b', 'c'];
                            print "

    1 - ".$arr[0].",
    2 - ".$arr[1].",
    3 - ".$arr[2]."

    ";

    1 - a,
    2 - b,
    3 - c

  3. Создайте массив $arr=['a', 'b', 'c', 'd'] и с его помощью выведите на экран строку 'a+b, c+d'.
    
                            $arr=['a', 'b', 'c', 'd'];
                            print "

    ".$arr[0]."+".$arr[1].", ".$arr[2]."+".$arr[3]."

    ";

    a+b, c+d

  4. Создайте массив $arr с элементами 2, 5, 3, 9. Умножьте первый элемент массива на второй, а третий элемент на четвертый. Результаты сложите, присвойте переменной $result. Выведите на экран значение этой переменной.
    
                            $arr=[2, 5, 3, 9];
                            $num1 = $arr[0]*$arr[1];
                            $num2 = $arr[2]*$arr[3];
                            $result = $num1+$num2;
                            print "

    ".$arr[0]."*".$arr[1]."+".$arr[2]."*".$arr[3]."=".$result."

    "

    2*5+3*9=37

  5. Заполните массив $arr числами от 1 до 5. Не объявляйте массив, а просто заполните его присваиванием $arr[] = новое значение.
    
                            $arr=[];
                            $arr[]=1;
                            $arr[]=2;
                            $arr[]=3;
                            $arr[]=4;
                            $arr[]=5;
                            var_dump ($arr)
                        
    array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }

Ассоциативные массивы

  1. Создайте массив $arr. Выведите на экран элемент с ключом 'c'. $arr = ['a'=>1, 'b'=>2, 'c'=>3];
    
                        $arr = ['a'=>1, 'b'=>2, 'c'=>3];
                        echo $arr['c'];
                    
    3
  2. Создайте массив $arr. Найдите сумму элементов этого массива. $arr = ['a'=>1, 'b'=>2, 'c'=>3];
    
                        $arr = ['a'=>1, 'b'=>2, 'c'=>3];
                        echo $arr['a']+$arr['b']+$arr['c'];
                    
    6
  3. Создайте массив заработных плат $arr. Выведите на экран зарплату Пети и Коли. $arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];
    
                        $arr = ['Коля'=>'1000$', 'Вася'=>'500$', 'Петя'=>'200$'];
                        print "

    Зарплата Пети - ".$arr['Петя'].";
    зарплата Коли - ".$arr['Коля']."

    ";

    Зарплата Пети - 200$;
    зарплата Коли - 1000$

  4. Создайте ассоциативный массив дней недели. Ключами в нем должны служить номера дней от начала недели (понедельник - должен иметь ключ 1, вторник - 2 и т.д.). Выведите на экран текущий день недели.
    
                        $arr = [1=>'понедельник', 
                                2=>'вторник', 
                                3=>'среда', 
                                4=>'четверг', 
                                5=>'пятница', 
                                6=>'суббота', 
                                7=>'воскресенье'];
                        echo $arr[date('N')];
                    
    суббота
  5. Пусть теперь номер дня недели хранится в переменной $day, например там лежит число 3. Выведите день недели, соответствующий значению переменной $day.
    
                        $arr = [1=>'понедельник', 
                                2=>'вторник', 
                                3=>'среда', 
                                4=>'четверг', 
                                5=>'пятница', 
                                6=>'суббота', 
                                7=>'воскресенье'];
                        $day=date('N')+1;
                        echo $arr[$day];
                    
    воскресенье

Многомерные массивы

  1. Создайте многомерный массив $arr. С его помощью выведите на экран слова 'joomla', 'drupal', 'зеленый', 'красный'.
    
                        $arr = [
                             'cms'=>['joomla', 'wordpress', 'drupal'],
                             'colors'=>['blue'=>'голубой', 'red'=>'красный', 'green'=>'зеленый']
                        ];
                        print "

    ".$arr['cms'][0]."
    ".$arr['cms'][2]."
    ".$arr['colors']['green']."
    ".$arr['colors']['red']."

    ";

    joomla
    drupal
    зеленый
    красный

  2. Создайте двухмерный массив. Первые два ключа - это 'ru' и 'en'. Пусть первый ключ содержит элемент, являющийся массивом названий дней недели по-русски, а второй - по-английски. Выведите с помощью этого массива понедельник по-русски и среду по английски (пусть понедельник - это первый день).
    
                        $arr=[
                            'ru'=>[1=>'понедельник', 
                                2=>'вторник', 
                                3=>'среда', 
                                4=>'четверг', 
                                5=>'пятница', 
                                6=>'суббота', 
                                7=>'воскресенье'],
                            'en'=>[1=>'monday', 
                                2=>'tuesday', 
                                3=>'wednesday', 
                                4=>'thursday', 
                                5=>'friday', 
                                6=>'saturday', 
                                7=>'sunday']
                        ];
                        $dr=date('N');
                        $de=date('N')+1;
                        print "

    ".$arr['ru'][$dr]."
    ".$arr['en'][$de]."

    "

    суббота
    sunday

  3. Пусть теперь в переменной $lang хранится язык (она принимает одно из значений или 'ru', или 'en' - либо то, либо то), а в переменной $day - номер дня. Выведите словом день недели, соответствующий переменным $lang и $day. То есть: если, к примеру, $lang = 'ru' и $day = 3 - то выведем 'среда'.
    
                        $arr=[
                            'ru'=>[1=>'понедельник', 
                                2=>'вторник', 
                                3=>'среда', 
                                4=>'четверг', 
                                5=>'пятница', 
                                6=>'суббота', 
                                7=>'воскресенье'],
                            'en'=>[1=>'monday', 
                                2=>'tuesday', 
                                3=>'wednesday', 
                                4=>'thursday', 
                                5=>'friday', 
                                6=>'saturday', 
                                7=>'sunday']
                        ];
                        $dr=date('N');
                        $de=date('N')+1;
                        if ($dr==2 or $dr==4 or $dr==6) {
                            $lang='ru';
                            $lnxt='en';
                        } else {
                            $lang='en';
                            $lnxt='ru';
                        }
                        print "

    ".$arr[$lang][$dr]."
    ".$arr[$lnxt][$de]."

    "

    суббота
    sunday

Задачи

  1. В переменной $day лежит какое-то число из интервала от 1 до 31. Определите в какую декаду месяца попадает это число (в первую, вторую или третью).
    
                            $min=1;
                            $max=31;
                            $day=rand($min,$max);
                            if ($day>=1 and $day<11) {
                                print "

    число - ".$day." входит в первую декаду месяца

    "; } else { if ($day>=11 and $day<21) { print "

    число - ".$day." входит во вторую декаду месяца

    "; } else { print "

    число - ".$day." входит в третью декаду месяца

    "; } }

    число - 7 входит в первую декаду месяца.

  2. В переменной $month лежит какое-то число из интервала от 1 до 12. Определите в какую пору года попадает этот месяц (зима, лето, весна, осень).
    
                            $min=1;
                            $max=12;
                            $arr_mnt=[1=>'январь',
                                     2=>'февраль',
                                     3=>'март',
                                     4=>'апрель',
                                     5=>'май',
                                     6=>'июнь',
                                     7=>'июль',
                                     8=>'август',
                                     9=>'сентябрь',
                                     10=>'октябрь',
                                     11=>'ноябрь',
                                     12=>'декабрь'];
                                
                            $month=rand($min,$max);
                            if ($month>=3 and $month<9) {
                                if ($month<=5) {
                                    print "

    ".$arr_mnt[$month]." весенний месяц.

    "; } else { print "

    ".$arr_mnt[$month]." летний месяц.

    "; } } else { if ($month>=9 and $month<=11) { print "

    ".$arr_mnt[$month]." осенний месяц.

    "; } else { print "

    ".$arr_mnt[$month]." зимний месяц.

    "; } }

    май весенний месяц.

  3. В переменной $year хранится год. Определите, является ли он високосным (в таком году есть 29 февраля). Год будет високосным в двух случаях: либо он делится на 4, но при этом не делится на 100, либо делится на 400. Так, годы 1700, 1800 и 1900 не являются високосными, так как они делятся на 100 и не делятся на 400. Годы 1600 и 2000 - високосные, так как они делятся на 400.
    
                            $min=1960;
                            $max=2060;
                            $year=rand($min,$max);
                            if (($year % 4 == 0 and $year % 100 !=0) or 
                                ($year % 100 == 0 and $year % 400 ==0)
                               ){
                                print "

    ".$year." год - високосный.

    "; } else { print "

    ".$year." год - не високосный.

    "; }

    2018 год - не високосный.

  4. Дана строка с символами, например, 'abcde'. Проверьте, что первым символом этой строки является буква 'a'. Если это так - выведите 'да', в противном случае выведите 'нет'.
    
                            $var='abcde';
                            if ($var[0] === 'a') {
                                print "

    Первая буква 'a'.

    "; } else { print "

    Первая буква отлична от 'a'.

    "; }

    Первая буква 'a'.

  5. Дана строка с цифрами, например, '12345'. Проверьте, что первым символом этой строки является цифра 1, 2 или 3. Если это так - выведите 'да', в противном случае выведите 'нет'.
    
                            $var='12345';
                            if ($var[0] === '1' or $var[0] === '2' or $var[0] === '3') {
                                print "

    Первый символ '1'-'3'.

    "; } else { print "

    Первый символ отличается от '1'-'3'.

    "; }

    Первый символ '1'-'3'.

  6. Дана строка из 3-х цифр. Найдите сумму этих цифр. То есть сложите как числа первый символ строки, второй и третий.
    
                            $var='123';
                            $result=$var[0] + $var[1] + $var[2];
                            print "

    Сумма чисел строки ".$var." равна ".$result."

    ";

    Сумма чисел строки 123 равна 6

  7. Дана строка из 6-ти цифр. Проверьте, что сумма первых трех цифр равняется сумме вторых трех цифр. Если это так - выведите 'да', в противном случае выведите 'нет'.
    
                            $var='354129';
                            $frst=$var[0]+$var[1]+$var[2];
                            $scnd=$var[3]+$var[4]+$var[5];
                            if ($frst==$scnd) {
                                print "

    Сумма первых трёх символов (".$frst.") равна сумме вторых трёх символов (".$scnd.").

    "; } else { print "

    Сумма первых трёх символов (".$frst.") не равна сумме вторых трёх символов (".$scnd.").

    "; }

    Сумма первых трёх символов (12) равна сумме вторых трёх символов (12).