Уроки PHP — foreach

php-lesson-foreachОсобенностью сегодняшнего урока будет тот факт, что оператор foreach применяется только с массивами и объектами — собственно говоря для переборки массивов этот оператор и используется.

Другой особенностью данного оператора является необходимость использования временной переменной для значения, которое получается с помощью этого оператора из массива. Звучит несколько запутанно, но мы сейчас с вами попробуем во всем этом разобраться 😉

Итак, для начала рассмотрим код, предлагаемый Codecademy:

<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
$sentence = array(«I’m «, «learning «, «PHP!»);

___ ($sentence as $word) ___
echo $word;
___
?>
</p>
</body>
</html>

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

<?php
  $numbers = array(1, 2, 3);

  foreach($numbers as $item) {
      echo $item;
  }
?>

За все время изучения PHP мы с вами немного запомнили основные команды и операторы, потому рассматривать код в данном случае особо не будем - и так понятно, что у нас имеется массив, состоящий из слов: "I'm ", "learning ", "PHP!". Перейдем лучше к foreach: его использование начинается с объявления PHP суровой необходимости работы с массивами: foreach ($sentence as $word), что в переводе на простой человеческий может звучать как: начинаем перебирать массив, и каждое значение из массива объявляем временной переменной. После чего мы просто выводим полученное значение: echo $word;
Код, представленный Codecademy, в окончательной форме будет иметь следующий вид: 

<html>
 <head>
 <title></title>
 </head>
 <body>
 <p>
 <?php
 $sentence = array("I'm ", "learning ", "PHP!");
 
 foreach ($sentence as $word) {
 echo $word;
 }
 ?>
 </p>
 </body>
</html>

Для большего развлечения я предлагаю создать код, который сгенерирует ряд случайных чисел, сформирует их них массив, который мы выведем на экран отдельными позициями. Надеюсь, что идея сработает - ведь я тоже только начинаю изучение PHP :) 

Начнем с генерации случайных числе - напомню, что эта операция происходит с помощью команды $a = mt_rand (1,5);, где (1;5) - верхние и нижние ограничения генерируемого числа. 

Итак, ниже представлен код, который работает по следующей схеме:
1. Генерируем переменную $a
2. Генерируем переменную $b
3. Формируем массив, который состоит из переменных $a и $b, а так же их суммы
4. С помощью оператора foreach выводим на экран значения ячеек
5. Радуемся
<!DOCTYPE html>
<html>
 <head>
 </head>
 <body>
 <p>
 <?php
 $a = mt_rand (1,10); //генерируем значение переменной а
 $b = mt_rand (11,15); // генерируем значение переменной в
 $test = array($a, $b, $a+$b); // создаем и заполняем массив
 foreach ($test as $number) { // перебираем массив, и выводим его значения
 echo $number."<br>"; //выводим значения поочередно, каждое - на новой строке (за это отвечает br)
 }
 ?>
 </p>
 </body>
</html>

Уроки PHP — loop — выводим числа десятками от 1 до 100

Сегодняшний урок в Codecademy нацелен на самостоятельное задание: вывести на экран каждое десятое число в промежутке от 1 до 100.

Для начала имеется следующий код:

<html>
<head>
<title>Solo For Loop!</title>
</head>
<body>
<p>
<?php
// Write your for loop below!

?>
</p>
</body>
</html>

Как видим — основного — цикла, который и отвечает за генерацию чисел и их вывод — нет. Вспомним, каким образом устроен loop: начальное значение переменной, до каких пределов может меняться, и каким образом происходит изменение. После указания этих трех параметров не забудьте указать действие, которое нужно выполнить.

for ($i = 0; $i < 101; $i = $i + 10) {
echo $i.»<br>»;
}

Как видно из кода выше — мы создали переменную $i, задали ее начальное значение — нуль, после чего сказали, что она может меняться только до значения 101, а меняться по схеме: начальное значение $i + 10. Таким образом мы отметили, что нас интересует каждое десятое число в промежутке от 0 до 100. И собственно — каждое это число нужно вывести:  echo $i.»<br>»;

Отдельно отмечу, что «<br>» служит для вывода значения $i на отдельной строке, что значительно улучшает внешний вид.

<html>
<head>
<title>Solo For Loop!</title>
</head>
<body>
<p>
<?php
// Write your for loop below!
for ($i = 0; $i < 101; $i = $i + 10) {
echo $i.»<br>»;
}
?>
</p>
</body>
</html>

Уроки PHP — loop

Время идет, вернее даже бежит! И вот так незаметно мы подошли к странному явлению, именуемом loop (петля).

Спешу напомнить, что я просто изучаю PHP, и делюсь уроками и мыслями с вами, потому и изучать мы будем все максимально полно и глубоко.

Итак… У нас имеется пример кода, который с помощью loop выведет все цифры от 1 до 10:

<?php
for ($i = 0; $i < 10; $i++) {
    echo $i;
}
// echoes 0123456789
?>
Стало определенной традицией рассматривать код подробнее: 
$i = 0; - создали переменную, и задали ее начальное значение 
$i < 10 - делаем что-то, пока переменная будет иметь значение меньше 10
$i++ - собственно говорят - именно это и делаем: увеличиваем значение i
{echo $i;} - выводим значение i

Итак, схема описанного выше кода сводится к следующему: начальное значение переменной, до каких границ меняется, по какой причине эта переменная должна меняться (увеличивается или уменьшается), и что делает до тех пор, пока значение переменной не станет ровняться заданной величине. 

Задание текущего урока: к имеющемуся коду добавить что-то, что бы сей код начал правильно работать. 
<html>
 <head>
 <title>For Loops</title>
 </head>
 <body>
 <p>
 <?php
 // Echoes the first five even numbers
 ___ ($i = 2; $i < 11; $i = $i + 2) ___
 echo $i;
 ___
 ?>
 </p>
 </body>
</html>

Учитывая все, что мы с вами обсуждали выше, правильным действием в указанном коде будет: задать начальное for - если нет ДЛЯ - то как же PHP поймет, для чего все это делается - верно? 
Смотря на код далее видим: начальное значение переменное ровняется 2, что-то должно продолжаться до тех пор, пока не достигнет 11, а продолжаться это будет с помощью увеличения значения переменной на 2 (это видно в куске $i = $i + 2). Таким образом - основной код закончен, и должен работать. За исключением - что делать, когда выполнена операция в loop: выводить значение переменной $i. Как мы с вами помним - подобные куски кода окружаются фигурными скобками {}.
Итак, окончательная редакция кода выглядит следующим образом: 
<html>
 <head>
 <title>For Loops</title>
 </head>
 <body>
 <p>
 <?php
 // Echoes the first five even numbers
 for ($i = 2; $i < 11; $i = $i + 2) {
 echo $i;
 }
 ?>
 </p>
 </body>
</html>
php-lesson-loop-for

Уроки PHP — массивы (array) — удаление данных из массива

Сегодня вечером мы рассмотрим возможность как удаления данных из массива, так и массива целиком.

Все просто:

Конструкция

<?php
  $array = array("red", "blue", "green");
  unset($array[2]);
?>

позволяет удалить из массива значение "green"

тогда как код
<?php
  unset($array);
?>

удаляет массив целиком. В целом (тут я повторяюсь, но что делать, если так оно и есть) - все просто, важно понять логику и опробовать свежеузнанный код на практике ;) 
Итак, у нас имеется следующий код: 
<html>
 <head>
 <title>Modifying Elements</title>
 </head>
 <body>
 <p>
 <?php
 $languages = array("HTML/CSS",
 "JavaScript", "PHP", "Python", "Ruby");
 // Write the code to remove Python here!
 
 
 
 // Write your code above this line. Don't
 // worry about the code below just yet; we're
 // using it to print the new array out for you!
 
 foreach($languages as $lang) {
 print "<p>$lang</p>";
 }
 ?>
 </p>
 </body>
</html>
из которого с помощью команды unset нужно удалить значение "Python".
Для начала вспомним, каким образом задается массив вообще: 
 $languages = array("HTML/CSS",
 "JavaScript", "PHP", "Python", "Ruby");

Таким образом, команда unset ($название-массива[поле]) позволяет удалить нужное значение. Повторю, что отсчет в массивах идет с нуля, таким образом наша команда будет выглядеть следующим образом: 

$unset ($languages[3]);
а код в полном виде выглядит: 
<html>
 <head>
 <title>Modifying Elements</title>
 </head>
 <body>
 <p>
 <?php
 $languages = array("HTML/CSS",
 "JavaScript", "PHP", "Python", "Ruby");
 // Write the code to remove Python here!
 unset ($languages [3]);
 
 
 // Write your code above this line. Don't
 // worry about the code below just yet; we're
 // using it to print the new array out for you!
 
 foreach($languages as $lang) {
 print "<p>$lang</p>";
 }
 ?>
 </p>
 </body>
</html>
php-lesson-array-del-dataСпасибо за внимание! 
Если вам понравится этот урок - сделайте репост к себе на страницу ;) 

Уроки PHP — массивы (array) — редактирование данных в массиве

И снова здравствуйте 🙂

Сегодня мы узнаем, как редактировать данные в массиве (иногда возникает потребность и в таком). В качестве примера возьмем код:

<?php
$myArray = array("red", "blue", "yellow");

echo $myArray[1];
// outputs "blue"

$myArray[1] = "green";

echo $myArray[1];
// outputs "green"
?>

Как видно из кода - у нас имеется массив $myArray, состоящий из трех цветов: red, blue, welloy. Команда echo $myArray [1] выведет значение blue (еще раз напомним себе, что отсчет данных в массиве начинается с нуля). Однако! Если мы используем конструкцию $myArray [1] = "green" - значение ячейки в массиве измениться с blue на green! Как всегда - разобравшись во всем этом, выполним тестовое задание: 

In line 8, there's an array named$languages. 
1. Change an item in the $languagesarray. You can take your pick! 
2. Then use echo to output$languages.

В строке 8 имеется массив, состоящий из названий языком программирования. Задача текущего урока - изменить данные в массиве, причем номер ячейки и параметры замены нам предстоит выбрать самостоятельно. Новые данные нужно вывести на экран. 
Код, данный нам на растерзание: 

<html>
 <head>
 <title>Modifying Elements</title>
 </head>
 <body>
 <p>
 <?php
 $languages = array("HTML/CSS",
 "JavaScript", "PHP", "Python", "Ruby");
 
 // Write the code to modify
 // the $languages array!
 
 ?>
 </p>
 </body>
</html>
Вспоминая все, что мы узнали выше - попробуем изменить ячейку с названием языка Python на ... ну пусть будет Basic :) 
Используем следующую конструкцию: 
$languages [2] = "Basic";
задав тем самым нужной нам ячейке новое значение. После этого выведем значение на экран: 
echo $languages [2];

Окончательная версия кода представлена ниже: 
<html>
 <head>
 <title>Modifying Elements</title>
 </head>
 <body>
 <p>
 <?php
 $languages = array("HTML/CSS",
 "JavaScript", "PHP", "Python", "Ruby");
  // Write the code to modify
 // the $languages array!
 $languages [2] = "Basic";
 echo $languages [2];
 ?>
 </p>
 </body>
</html>
php-lesson-array-new-data
Спасибо за внимание :) Как всегда - в случае возникновения вопросов пишите на почту oleksiy@lavrynenko.com

SMM, PR, WEB