Lab / php / Основы

Основы PHP

В этой заметке будут собраны базове методы используеммые в PHP. Эта статья поможет начинающим держать основной арсенал комманд и приёмов всегда под рукой до тех пор, пока всё это не закрепится в голове.

Строки

<?php
 echo "Hello, world!"; // Простая строка
 echo "Hello," . " 
 " . "world" . "!"; // Несколько строк за один вывод
?>

Сравнения

> Больше чем
< Меньше чем
<= Меньше или равно
>= Больше или равно
== Равно
!= Не равно

Пример с числами:

<?php
 $age = 17;

 if( $age > 16 ) {
 echo "You can drive!";
 }
?>

Пример со строкой:

<?php
 $name = "Edgar";

 if ($name == "Simon") {
 print "I know you!";
 }
 else {
 print "Who are you?";
 }
?>

Циклы и масивы

Теперь давайте рассмотрим как устроенны масивы данных и как можно сделать и вывод на страницу. Итак прстейшие одномерные массивы выглядять примерно так:

$colors = array("white","black","red","green");

По сути это переменная в которой храниться несколько значений. Мы можем выводить как отдельные значения, так и весь список. Что бы вывести отдельное значение используем его порядковый номер. Нумерация в массивах начинается с нуля, таким образом, что бы вывести red нам необходимо вызывать его по номеру 2.

echo $colors[2];

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

foreach ($colors as $key => $value) {
 echo $value;
}

Разберём этот пример: Цикл проходит по масиву $colors по каждой его строке ($key) и присваивая каждый раз значение строки в переменную $value таким образом, через echo $value; мы выводим каждую строку на экран (в документ). Цикл будет выполняться столько раз, сколько строк есть в массиве и затем сам завершмтся.

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

Теперь давайте рассмотрим пример много мерных массивов на примере списка товаров, их стоимости, размеров и доступных цветов. Вот так может выглядеть подобный массив:

$cart = array(
 array('product'=>'Майка', 'coast'=>'$25', 'color'=>'Black', 'size'=>'M'),
 array('product'=>'Шляпа', 'coast'=>'$12', 'color'=>'Gray', 'size'=>'Universal'),
 array('product'=>'Платье', 'coast'=>'$130', 'color'=>'White', 'size'=>'L'),
);

В чём различие? По сути это массивы внутри массивов. Соответственно что бы вызвать какое либо из значений вам лишь нужно сделать более блинный запрос к конкретной ячейке массива, например, что бы отобразить имя продукта первой строки используем такой код:

echo $cart[0]['product'];

Для вызова цены вызывем её по имени ячейки:

 echo $cart2[0]['coast'];

Что бы вывести мия и цену первой позиции в массиве используем такую конструкцию:

 echo $cart2[0]['product'] . $cart2[0]['coast'];

Что бы проделать подобный трюк с второй позицией из массива нужно просто сменить [0] на [1] и всё прочее сделать по аналогии с кодом выше.

Теперь же давайте наконец выведем список наших товаров из массива, здёсь всё будет аналогично примеру из одномерного массива, только в теле цикла мы будем вызывать дополнительно ячейки массива:

 foreach($cart2 as $key => $value) {
 echo $value['product'], ' ', $value['coast'], ' ', $value['color'], ' ', $value['size'], '
';
 }

Обратите внимание я добавил в код пробелы между значениями таким вот кодом — , ' ' и в конце каждой строки перенос — , '<br />' Обратите внимание на запятые, они обязательны для разделения значений.

Теперь давайте немного усложним пример, вместо [0] [1] [2], будем использовать наше имя продукта:

$cart['products']=array(
'Майка'=>array('coast'=>'$100', 'color'=>'Black', 'size'=>'M'),
'Шляпа'=>array('coast'=>'$100', 'color'=>'Gray', 'size'=>'Universal'),
'Платье'=>array('coast'=>'$100', 'color'=>'White', 'size'=>'L'),
);

Ну и что бы вывести отдельное значение мудем вызывать его по нашему имени продукта:

echo $cart['products']['Майка']['coast'];

Для вывода всего массива используем вот такую конструкцию:

foreach ($cart['products'] as $key => $value) {
 echo $key. " | ";
 echo $value['coast']. " | ";
 echo $value['color']. " | ";
 echo $value['size']. "
";
}