Основы 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];
Если вы не уверены, что там лежит в массиве, и хотите посмотреть его содержимое, например когда работаете с готовой CRM или чужим кодом, воспользуйтесь функцией var_dump($colors) она выведет на страницу полное содержимое массива.
Пример "красивого" форматирования для функции var_dump():
echo "<pre>";
var_dump($colors);
echo "</pre>";
Для того, что бы вывести весь список, необходимо создать цикл, который будет проходить по массиву, перебирать его значения и выводить в документе:
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'], ' ';
}
Обратите внимание я добавил в код пробелы между значениями таким вот кодом — , ' ' и в конце каждой строки перенос — , '
' Обратите внимание на запятые, они обязательны для разделения значений.
Теперь давайте немного усложним пример, вместо [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']. "<br/>";
}