Архив метки: PHP

Уроки 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.

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

  1. <html>
    
  2. <head>
    
  3. <title>Solo For Loop!</title>
    
  4. </head>
    
  5. <body>
    
  6. <p>
    
  7. <?php
    
  8. // Write your for loop below!
    
  9.  
  10. ?>
    
  11. </p>
    
  12. </body>
    
  13. </html>

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

  1. for ($i = 0; $i < 101; $i = $i + 10) {
    
  2. echo $i."<br>";
    
  3. }

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

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

  1. <html>
    
  2. <head>
    
  3. <title>Solo For Loop!</title>
    
  4. </head>
    
  5. <body>
    
  6. <p>
    
  7. <?php
    
  8. // Write your for loop below!
    
  9. for ($i = 0; $i < 101; $i = $i + 10) {
    
  10. echo $i."<br>";
    
  11. }
    
  12. ?>
    
  13. </p>
    
  14. </body>
    
  15. </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