undefined

Что такое PHP? (заметки к видеолекции)

Harvard CS50
7 уровень , 3 лекция
Открыта

Внимание! Практически весь материал этой лекции был в видеолекции. Если вы всё хорошо усвоили, просто пробегитесь глазами и переходите дальше.

PHP (PHP Hypertext Preprocessor, гипертекстовый препроцессор PHP) — это язык программирования, используемый со стороны сервера. Благодаря возможности комбинировать код PHP и HTML, можно создавать динамические веб-страницы, показывающие каждый раз разную информацию в зависимости от многих факторов. Например, настроек или полученных от пользователя данных.

PHP — интерпретируемый язык. Это означает, что код, написанный на PHP не компилируется, а выполняется строка за строкой с помощью интерпретатора — программы, которая читает каждую строку и делает то, что в ней указано. Точно так же происходит выполнение программы на Python, Ruby, Perl и других языках.

Переменные. Объявление переменных

В отличие от Си, PHP — язык с динамической типизацией, то есть вам не нужно указывать тип переменной при ее объявлении, он определяется автоматически.

Синтаксис объявления переменной:

$ Переменная = значение;
Пример:
$ Var = 3;

Обратите внимание, имена всех переменных в PHP начинаются со знака $

Массивы

Массивы в PHP могут быть ассоциативными. Это значит, что их индексом может быть не только число, но ещё и какой-то объект. Например, строка.

Синтаксис объявления массива:

$ Array_name = [key1 => value1, key2 => value2]

Чтобы обратиться к элементу массива, необходимо применить такую конструкцию:

$ Array_name [key1];

При объявлении массива ключи можно не указывать, и тогда индексами в массиве будут числа:

$ Array_2 = [10, 20, 30];
$ Array_2 [1] = 20;

Пример работы с ассоциативным массивом (команда echo выводит текст в командную строку):

 "Buchholtz-Au", "Ema" => "Horvath"];
echo "{$ array [ 'Ema']} \ n";
?>

результат:

Что такое PHP? (заметки к видеолекции) - 1

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

<? Php
$ Array2 = [3, 5, 6];
echo "{$ array2 [0]} \ n";
?>

результат:

Что такое PHP? (заметки к видеолекции) - 2

Операторы сравнения

Поскольку PHP — язык с динамической типизацией, в нем определены сразу два оператора сравнения: == и ===. Оператор == сначала осуществляет приведение типов (преобразует сравниваемые переменные к одному типу данных), а затем сравнивает их значения. Оператор === проверяет, относятся ли оба сравниваемых элемента к одному и тому же типу.

Цикл foreach

Цикл foreach — удобный способ прохождения по всему массиву от начала до конца (кстати, эта форма цикла широко используется в Java). Вместо создания специальных временных переменных для прохождения по массиву, достаточно просто написать:

foreach ($ array as $ value) {
  // выполнить эти инструкции
}
Если необходимо пройтись по ассоциативному массиву, где есть ключи:
foreach ($ array as $ key => $ value) {
  // выполнить инструкции
}

Примеры

  1. Пробегаемся по всем элементам массива, выводим каждый элемент массива (и его ключ) на экран:
    <? Php
    $ Arr = array ( "one", "two", "three")
    foreach ($ arr as $ key => $ counter) {
      echo "Value: $ key => $ counter \ n";
    }?>
    
    
  2. В этом примере — то же самое, только сам массив не простой, а ассоциативный. Обратите внимание! Элементы массива могут принадлежать разным типам.
    <? Php
    $ Arr = array ( "a" => 1, "b" => "two", "c" => "three")
    foreach ($ arr as $ key => $ value) {
    echo "Key: $ key; Value: $ value \ n";
    }?>

Попробуйте набрать (или скопипастить) эти примеры в gedit в «Виртуальной лаборатории» или CS50 IDE. Только не забудьте о строке #! /usr/bin/env php в начале кода.

Комментарии (6)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
Artem 0 уровень
20 декабря 2020
беда, что не пробую делать при запуске, пишет bash: ./hello.php: Permission denied к то знает в чём дело? подскажите.
Yakov Khovalkin 0 уровень
26 апреля 2018
Огромное спасибо за перевод, но в 18 году в CS50 решили пропустить php и сразу перешли к Python. Буду смотреть в оригинале. Если бы не ваш перевод лекций и заданий, я бы не начал проходить этот курс. Еще раз большое спасибо! Было бы круто, если бы вы регулярно обновляли этот курс
Алекс aka RAW 0 уровень
5 октября 2017
Попробовал добавить каждое задание. В CS50 IDE выдает: ~/workspace/pset1/ $ php hello.php Parse error: syntax error, unexpected '$' in /home/ubuntu/workspace/pset1/hello.php on line 2