Функции

Область видимости переменных

В PHP ровно две области видимости: глобальная и локальная. В каждом языке программирования области видимости устроены по-разному. Например, в C++ даже в циклах своя (локальная) область видимости. В PHP, кстати, циклы – это глобальная область видимости. Но сегодня мы говорим о функциях.

У функций в PHP своя, внутренняя область видимости (локальная), то есть все переменные внутри функции видны только внутри этой самой функции.

Итак, ещё раз: все, что вне функций – это глобальная область видимости, все, что внутри функций – локальная область видимости. Пример:

<?php

function sayHi($name){
    echo 'Привет, '.$name.'! <br>';
    $name = 'Рудь Сергей';
}

$name = 'Андрей';
sayHi($name);
echo $name; // ?

Уважаемые знатоки, внимание, вопрос! Что выведет последняя инструкция echo $name; ?

Ответ:

Как вы сами видели, у нас было 2 переменных $name, одна внутри функции (локальная область видимости), другая просто в коде (глобальная область видимости), последнее присвоение в переменную $name было $name = ‘Рудь Сергей’; Но так как это было внутри функции, то там оно и осталось. В глобальной же области видимости последним присвоением было $name = ‘Андрей’; что мы собственно и видим в результате.

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

Давайте я проиллюстрирую области видимости на рисунке:

При первом обходе интерпретатор бегло просматривает глобальную область видимости, запоминает какие есть переменные и функции, но не выполняет код.

Обращение к глобальным переменным из локальной области видимости

Но что если нам всё-таки нужно из функции обратиться к той самой переменной $name из глобальной области видимости, да не просто обратиться, а изменить её? Для этого есть 3 основных варианта. Первый из них использование ключевого слова global:

<?php

function sayHi($name){
    echo 'Привет, '.$name.'! <br>';
    global $name; /*начиная с этого момента мы имеем ввиду
    глобальную переменную $name*/
    $name = 'Рудь Сергей';
}

$name = 'Андрей';
sayHi($name);
echo $name; // ?

Результат:

Но у этого способа есть минус, с тех пор как мы обратились к глобальной переменной $name мы потеряли (переписали) локальную переменную $name.

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

$name = 'Андрей'; //Тоже самое что и
$GLOBALS = 'Андрей';

Следовательно:

<?php

function sayHi($name){
    echo 'Привет, '.$name.'! <br>';
    $GLOBALS = 'Рудь Сергей';
}

$name = 'Андрей';
sayHi($name);
echo $name; // ?

Результат тот же, что и при использовании ключевого слова global:

Только в этот раз мы не переписали локальную переменную, то есть переменная $name внутри функции осталась прежней и равна «Андрей», а не «Рудь Сергей».

Округление дробных чисел

Округление до целых

Чтобы округлить число в php существует несколько функций:

  • round($num) — округляет число в большую или меньшую сторону в зависимости от значения дробной части. Если дробная часть больше или равна пяти, то округлит в большую сторону, иначе в меньшую.

  • ceil($num) — независимо от дробной части, округляет в большую сторону.

  • floor($num) — независимо от дробной части, округляет в меньшую сторону.
// round
echo round( 5.2 ); //> 5
echo round( 5.5 ); //> 6
echo round( 5.6 ); //> 6

// ceil
echo ceil( 5.1 );  //> 6

// floor
echo floor( 5.9 ); //> 5

Округление до дробных

Для округления чисел, до определенного количество знаков после запятой, используем функцию round(). Во втором параметре нужно указать сколько оставить знаков после запятой.

echo $round = round( 5.555, 1 ); //> 5.6

echo $round = round( 5.555, 2 ); //> 5.56

Округление последнего числа происходит как в математики: если следующее больше или равно 5 то в большую сторону, в остальных случаях в меньшую…

Необязательные параметры (параметры по умолчанию) функции

У функции может иметься неограниченное количество аргументов (параметров), среди которых могут быть необязательные (в том числе и все). Для того, чтобы сделать аргумент функции необязательным, ему нужно присвоить значение по умолчанию при объявлении функции.

/**
  * Объявляем функцию со значениями по умолчанию
  */
function amount($value_1, $value_2, $value_3 = 0) {
	print $value_1 + $value_2 + $value_3;
}

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

/**
  * Подсчитываем общее количество яблок
  * На этот раз функция amount() принимает три аргумента,
  * но третий является необязательным, так как его значение
  * было определено при объявлении функции, если мы третий
  * аргумент не укажем, он останется равным нулю
  */
  
$geen_apples = 11;
$red_apples = 7;

amount($green_apples, $red_apples);		// Выведет на экран 18

// Находим у себя в кладовой, внезапно, ещё 10 желтых яблок
$yellow_apples = 10;

// И их тоже нужно учесть
amount($green_apples, $red_apples, $yellow_apples);		// Выведет на экран 28

Обратите внимание на то, что мы дважды вызвали одну и ту же функцию в пределах одного сценария. Это можно делать сколь угодно много раз

При работе с функциями помните об одной немаловажной детали — если среди аргументов функции присутствуют необъявленные по умолчанию и объявленные, сначала должны быть указаны те, которые являются необъявленными (обязательными)

function userF($v1, $v2 = 100, $v3) {		// К хорошему не приведет
	print $v1 + $v2 + $v3;
}

Вызывать PHP функцию из другого php файла

Бывают такие случаи, когда удобно создать один файл для функции, а для остальных файлов только вытягивать нужную вам функцию. Ярким примером будет файл «functions.php» на Wordoress.
Чтобы указать путь к файлу с функцией, достаточно прописать вот этот код:

<?php
require_once ('путь к файлу с функцией');
?>

Для примера, создайте файл «functions.php» с  таким кодом:

<?php
function bloggood_ru($link,$title)
{
echo "<a href='$link'>$title</a>";
}
?>

Теперь создадим файл «test.php» с таким кодом:

<html>
<head>
<title>функции PHP - BlogGood.ru</title>
</head>
<body>
<?php
require_once('functions.php');
bloggood_ru('https://bloggood.ru/','Блог BlogGood.ru – создание сайта!');
?>
</body>
</html>

Результат:

Вот и все пироги.

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Популярные статьи:

  • Как узнать id компьютера
    Дата: 29 марта 2013
    Прокомментировано:90
    просмотров: 325690

  • Размеры форматов листов А0 – А7
    Дата: 23 января 2013
    Прокомментировано:3
    просмотров: 272067

  • Смешные логические загадки с подвохом, отгадки прилагаются
    Дата: 12 ноября 2014
    Прокомментировано:5
    просмотров: 204818

  • Установка windows 7 на ноутбук
    Дата: 18 декабря 2012
    Прокомментировано:169
    просмотров: 185226

  • Как включить или отключить Aero в Windows 7
    Дата: 1 июня 2013
    Прокомментировано:6
    просмотров: 160064

PHP is a Loosely Typed Language

In the example above, notice that we did not have to tell PHP which data type the variable is.

PHP automatically associates a data type to the variable, depending on its value.
Since the data types are not set in a strict sense, you can do things like
adding a string to an integer without causing an error.

In PHP 7, type declarations were added. This gives us an option to specify
the expected data type when declaring a function, and by adding the
declaration, it will throw a «Fatal
Error» if the data type mismatches.

In the following example we try to send both a number and a string to the
function without using :

Example

<?phpfunction addNumbers(int $a, int $b) {  return $a
+ $b;}
echo addNumbers(5, «5 days»); // since strict is NOT enabled «5 days» is
changed to int(5), and it will return 10?>

To specify we need to set .
This must be on the very first line of the PHP file.

In the following example we try to send both a number and a string to the
function, but here we have added the
declaration:

Example

<?php declare(strict_types=1); // strict requirementfunction
addNumbers(int $a, int $b) {  return $a + $b;}echo addNumbers(5, «5
days»); // since strict is enabled and «5 days» is not an integer, an
error will be thrown?>

The declaration forces things to be used in the intended way.

Строгая типизация в PHP (уточнение типа)

В PHP сделаны мелкие шаги к строгой типизации, благодаря этому мы можем заранее указать, какой тип должна принимать функция (это называется type-hint):

<?php

function countPlease(array $numbers){
    // какой-то код
}

countPlease(1);

Результат:

Catchable fatal error: Argument 1 passed to countPlease() must be an array, integer given, called in /home/index.php on line 7 and defined in /home/index.php on line 3

Ошибка нам говорит, что функция ожидает принять массив, а вместо этого мы ей передаём число. К сожалению, пока что мы можем уточнять тип только для массивов (array), а с PHP 5.4 ещё добавился такой вариант как callable:

<?php

function countPlease(callable $v){
    $v();
}

countPlease("getEcho");

function getEcho(){
    echo 'Вызвали функцию getEcho;
}

Callable проверяет, может ли переданное значение быть вызвано в качестве функции. Callable может быть как именем функции, заданным строковой переменной, так и объектом и именем вызываемого метода. Но про объекты и методы мы поговорим позже (это раздел объектно-ориентированного программирования), а с функциями вы уже знакомы. Результат работы я вам показать не могу, так как у меня сейчас стоит PHP 5.3, но он был бы:

Вызвали функцию getEcho

Conflict resolution via «use namespace» or other similar proposals

Unfortunately, this is not an option. Here is the background:

This is actually only implementable in one way:

  • Define a clear resolution order in favor of classes or in favor of namespaced elements
  • Require the others to explicitly define an element as a class or as a namespace:

If we favor classes:

<?php
// always calls class Blah::blah, method thing()
Blah::blah::thing();
?>

and

<?php
use namespace Blah::blah;
// always calls function Blah::blah::thing()
blah::thing();
?>

If we favor namespaces:

<?php
// always calls function Blah::blah::thing()
Blah::blah::thing();
?>

and

<?php
use class Blah::blah;
// always calls class Blah::blah, method thing()
blah::thing();
?>

Advantages

  • conflicts can be controlled explicitly via “use namespace” or “use class”
  • resolution is clear if access to the whole file is available

Problems

  • unqualified name (Blah::blah::thing or ::Blah::blah::thing) is unavailable for elements accessed via “use namespace/class” syntax, short name must always be used
  • Code review (checking patches for errors) becomes impossible — one must always have full access to the entire file. This is necessary at places like Google, where separate managers review commits of underlings and “import/use” is forbidden.

In my opinion, the 2nd problem renders this solution and any like it completely unusable. We need a solution that allows ::fully::delimited::names.

Преобразование систем счисления

По умолчанию в языке PHP для прямого и обратного преобразования числовых значений из внешнего представления во внутреннее применяется основание системы счисления 10. Кроме того, можно сообщить интерпретатору PHP, что во внешнем представлении используются восьмеричные числа, заданные по основанию 8 (для этого перед числом необходимо ввести ведущий 0), или шестнадцатеричные числа, заданные по основанию 16 (для этого перед числом необходимо ввести префикс 0x).

Безусловно, после преобразования чисел из внешнего представления во внутреннее они хранятся в памяти в двоичном формате, а все основные арифметические и математические вычисления осуществляются в самой операционной системе по основанию 2. Кроме того, в языке PHP предусмотрен ряд функций для преобразования чисел из одного основания системы счисления в другое. Общие сведения об этих функциях приведены в таблице ниже:

Функции преобразования систем счисления
Функция Описание
BinDec() Принимает единственный строковый параметр, представляющий собой двоичное целое число (число по основанию 2), и возвращает строковое представление этого числа по основанию системы счисления 10
DecBin() Аналогична BinDec(), но преобразует из основания системы счисления 10 в основание системы счисления 2
OctDec() Аналогична BinDec(), но преобразует из основания системы счисления 8 в основание системы счисления 10
DecOct() Аналогична BinDec(), но преобразует из основания системы счисления 10 в основание системы счисления 8
HexDec() Аналогична BinDec(), но преобразует из основания системы счисления 16 в основание системы счисления 10
DecHex() Аналогична BinDec(), но преобразует из основания системы счисления 10 в основание системы счисления 16
base_convert() Принимает строковый параметр (представляющий целое число, которое подлежит преобразованию) и два целочисленных параметра (исходное и желаемое основание). Возвращает строку, представляющую преобразованное число. В этой строке цифры старше, чем 9 (от 10 до 35), представлены символами a-z. И исходное, и желаемые основания должны находиться в пределах 2-36

Все функции преобразования систем счисления являются функциями специального назначения, преобразующими числа из одного конкретного основания в другое. Исключением является функция base_convert(), которая принимает произвольные параметры с обозначением начального и результирующего основания.

Обратите внимание на то, что все функции преобразования систем счисления принимают строковые параметры и возвращают строковые значения, но можно использовать десятичные числовые параметры и полагаться на правильное выполнение преобразования типа интерпретатором PHP. Иными словами, варианты вызова DecBin(«1234») и DecBin(1234) приводят к получению одинакового результата

Цикл Foreach в php

Обход массива наиболее выгодным образом происходит при помощи итерационного цикла foreach, позаимствованного из синтаксиса языка Perl.

  1. Короткий вариант:

Рис. 4.5. Пример использования цикла Foreach

Результат:

1 2 3 4

Пример: Выводить значения массива , в котором записаны данные об Иване

Решение:

1
2
3
4
5
6
7
$user = array("Ivan",
				"root",
				"password",
				"312-34-85");
foreach($user as $value){
	echo "$value</br>";
}

Результат:

Ivan
root
password
312-34-85

Длинный вариант:

Рис. 4.6. Пример использования цикла Foreach, полный вариант

Результат:

Массив с индексом 0 равен 1
Массив с индексом 1 равен 2
Массив с индексом 2 равен 3
Массив с индексом 3 равен 4

Пример: Выводить индексы и значения массива , в котором записаны данные об Иване

Решение:

1
2
3
4
5
6
7
8
$user"name"="Ivan";
$user"login"="root";
$user"password"="p@ssword";
$user="312-34-85";
 
foreach($user as $index =>$value){
	echo "Индекс $index равен $value</br>";
}

Результат:

Пример:

  1. Выводить приветствие для имен из списка
  2. Кроме приветствия выводить номера в списке
1
2
3
4
5
6
7
8
9
10
$names = array("Иван","Петр","Семен");
// 1 задание 
foreach ($names as $val) {
    echo "Привет, $val <br>";   
}
// 2 задание
foreach ($names as $k => $val) { 
        echo "Привет, $val ! 
	  Ты в списке под номером $k <br>"; 
}

Результат:

Задание php 4_3: Дан массив, состоящий из названий дней недели. Вывести элементы, используя конструкцию .

Дополнительно: вывод должен быть в формате: понедельник – день 1-й

Лабораторная работа:
Нарисовать (добавить) навигационное меню на странице, типа:

<a href="contact.php">Contact<a>

используя массив в качестве структуры меню.

Алгоритм:

  1. Создайте ассоциативный массив
  2. Заполните массив, соблюдая следующие условия:
  • Индексом элемента массива является пункт меню, например: Home, About, Contact…
  • Значением элемента массива является имя файла, на который будет указывать ссылка, например: index.php, about.php, contact.html…

Используя цикл отрисуйте вертикальное меню, структура которого описана в массиве

Генерация криптографически безопасных целых чисел и строк

Генерация чисел и строк осуществляется с помощью двух новых функций: random_bytes() и random_int().

random_bytes() генерирует строку произвольной длины криптографических случайных байтов, которые подходят для использования в криптографии, например, при генерации соли (секретных ключей), ключей или векторов инициализации.

length — длина в байтах случайной строки, которая должна быть возвращена. Возвращает строку, содержащую запрошенное количество криптографических безопасных случайных байтов.

Если подходящий источник для генерации случайных данных не найден, будет выбрано исключение. Если указаны недопустимые параметры, будет введено TypeError. Если указана недопустимая длина байтов, будет выведено сообщение об ошибке.

Код выводит следующее: 54cc305593.

random_int() генерирует криптографические случайные целые числа.

Параметры

  • min — минимальное значение, которое может быть возвращено, оно должно быть больше или равно PHP_INT_MIN
  • max — максимальное значение, которое может быть возвращено, оно должно быть меньше или равно PHP_INT_MAX

Возвращает криптографически безопасное случайное целое число в диапазоне от min до max, включительно. Если подходящий источник генерации случайных данных не может быть найден, будет введено исключение. Если указаны недопустимые параметры, будет введено TypeError. Если max меньше min, будет введено Error.

Код выводит следующее:

Лямбда функции

Лямбда функции (также известные, как анонимные функции) — это ничто иное, как функции без названия. Работа с подобными функциями осуществляется через переменную, которой данная функция была присвоена.

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

$("#myButton").click(function () {
    // do something
});

Приведённый фрагмент кода — это ничто иное, как создание анонимной функции.

В PHP лямбда функции появились в версии 5.3:

<?php
$square = function ($arg) {
    return $arg * $arg;
};

$value = $square(2); // 4

Когда речь идёт об анонимных функциях, очень важно понимать область видимости переменных. К примеру, в JavaScript анонимные функции имеют доступ к переменным за их пределами, а в PHP — нет

Передача аргументов по ссылке

function sayHi(&$name){

Мы в самом описании функции добавили значок амперсанд (&) – этот значок означает, что мы принимаем не значение переменной, а ссылку (адрес) на это значение в памяти. Ссылки в PHP позволяют создать две переменные, указывающие на одно и то же значение. Это означает, что при изменении одной из этих переменных, меняются обе, так как в памяти они обращаются к одному и тому же значению.

И в итоге имеем:

<?php

function sayHi(&$name){ //принимаем не значение, а ссылку на значение
    echo 'Привет, '.$name.'! <br>';
    $name = 'Рудь Сергей';
}

$name = 'Андрей';
sayHi($name);
echo $name; // ?

Результат:

Тригонометрические функции

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

Функция Описание
pi()
Не принимает параметров и возвращает приближенное значение числа π (3.1415926535898). Может использоваться как взаимозаменяемая с константой M_PI
sin()
Принимает числовой параметр в радианах и возвращает синус параметра в виде числа с плавающей точкой двойной точности
cos()
Принимает числовой параметр в радианах и возвращает косинус параметра в виде числа с плавающей точкой двойной точности
tan()
Принимает числовой параметр в радианах и возвращает тангенс параметра в виде числа с плавающей точкой двойной точности
asin()
Принимает числовой параметр и возвращает арксинус параметра в радианах. Входные данные должны находиться в пределах от -1 до 1 (получение функцией входных данных, выходящих за пределы этого диапазона, приводит к получению результата NAN). Результаты находятся в диапазоне от -π/2 до π/2
acos()
Принимает числовой параметр и возвращает арккосинус параметра в радианах. Входные данные должны находиться в пределах от -1 до 1 (получение функцией входных данных, выходящих за пределы этого диапазона, приводит к получению результата NAN. Результаты находятся в диапазоне от 0 до π
atan()
Принимает числовой параметр и возвращает арктангенс параметра в радианах. Результаты находятся в диапазоне от -π/2 до π/2

Ниже показан пример составления таблицы вычисления тригонометрических функций для «стандартных» углов:

function display_trigonometry($func_array, $input_array)
{
// Заголовок функции
echo «

Значение/функция $func
«.sprintf(«%.4f»,$input).» «;
printf(«%4.4f», $func($input));
echo «

«;
}
display_trigonometry(array(«sin», «cos», «tan»),
array(0, M_PI / 6, M_PI / 3, M_PI / 2, M_PI));

Получение очень больших (но не бесконечных) значений тангенса обусловлено тем, что теоретически знаменатели должны быть равными нулю, но в действительности немного отличаются от нуля из-за ошибок округления.

Логические или реляционные операторы

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

Оператор название Синтаксис Операция Пример
and Логическое И $x and $y TRUE, если оба операнда TRUE, иначе FALSE Пример »
or Логическое ИЛИ $x or $y TRUE, если любой из операндов TRUE, иначе FALSE Пример »
xor Логический XOR $x xor $y TRUE, если один из операндов TRUE, и FALSE, если оба TRUE Пример »
&& Логическое И $x && $y TRUE, если оба операнда TRUE, иначе FALSE Пример »
|| Логическое ИЛИ $x || $y TRUE, если любой из операндов TRUE, иначе FALSE Пример »
! Логическое НЕ !$x TRUE, если $x FALSE Пример »

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

Если $x меньше 25 И $y больше 45, то PHP должен отобразить некоторое сообщение.

Здесь логический оператор — это часть предложения «И». Если бы мы выразили это на языке PHP, мы бы использовали описанные ранее операторы сравнения вместе с логическим оператором :

if (($x < 25) && ($y > 45))
echo 'Наше выражение истинно';

Точно так же, составим следующее предложение:

Если $x меньше 25 ИЛИ $y больше 45, отобразить сообщение.

Затем мы заменим «ИЛИ» на эквивалент PHP :

if (($x < 25) || ($y > 45))
echo 'Наше выражение истинно';

Следующий полезный логический оператор — это исключающее ИЛИ оператор . Оператор возвращает истину (true), если только одно из выражений оказывается истинным (true), но не оба. Например:

Если ИЛИ $x меньше 25 ИЛИ $y больше 45, отобразить сообщение

Мы представляем исключающее ‘или’ ключевым словом :

if (($x <25) xor ($y > 45))
echo 'Наше выражение истинно';

И последний логический оператор — это оператор НЕ, который просто инвертирует результат выражения. Символ представляет собой оператор НЕ и может использоваться следующим образом:

(10 > 1) // Возвращает True
!(10 > 1) // возвращает false, потому что мы инвертировали результат с помощью логического НЕ

Где можно применять?

Знания целочисленного деления в PHP
будут очень полезны, если вам нужно сравнивать два числа, создавать число-перевертыш (популярное упражнение), или, к примеру, программу под названием FizzBuzz. Суть ее в том, что вам предстоит написать цикл от 1 до 100, который делит каждое число на 3 и 5. Если число, поделенное на 3, в остатке дало 0, то пишем Fizz, если поделенное на 5, то Buzz, а если, поделив и 5, и 3, в остатке получаем 0, то пишем FizzBuzz. Это очень популярное задание на собеседованиях. Если вы выполнили его самостоятельно, то можете собой гордиться.

Или, например, нам предстоит из числа 452 вывести все его числа (4, 5, 2).

Использование аргументов переменной длины

И напоследок ещё один очень редко используемый нюанс. Представьте ситуацию, мы передаём в функцию аргументы, хотя в функции мы их не описали, например:

<?php

function getEcho(){
    echo 'Вызвали функцию getText';
}

$age = 22;
getEcho('Рудь Сергей', $age);

Результат:

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

func_num_args() — Возвращает количество аргументов, переданных функции
func_get_arg(порядковый номер) — Возвращает элемент из списка аргументов
func_get_args() — Возвращает массив, содержащий аргументы функции

Пример:

<?php

function getEcho(){
    echo 'Вызвали функцию getText <br>';
    echo func_get_arg(0);
}

$age = 22;
getEcho('Рудь Сергей', $age);

Результат:

Операторы массивов PHP

Операторы массивов PHP используются для сравнения массивов.

В следующей таблице приведён список операторов, работающих с массивами PHP:

Оператор название Синтаксис Операция
+ Объединение $x + $y Объединение массива $x и массива $y.
== Равно $x == $y TRUE в случае, если $x и $y содержат одни и те же элементы.
!= Не равно $x != $y TRUE если массив $x не равен массиву $y.
=== Тождественно равно $x === $y TRUE в случае, если $x и $y содержат одни и те же элементы в том же самом порядке.
!== Тождественно не равно $x !== $y TRUE если массив $x не равен тождественно массиву $y.
<> Не равно $x <> $y TRUE если массив $x не равен массиву $y.

Цикл For php со счетчиком

  • После служебного слова в скобках через обязательно указываются 3 параметра.
  • Цикл в php может быть и без фигурных скобок, если в теле цикла присутствует только один оператор.

Рис. 4.4. Пример использования цикла For

Результат:

Привет!
Привет!
Привет!
Привет!
Привет!

В php для цикла for поддерживается альтернативный синтаксис:

Пример: Выводить в окно браузера числа от 1 до 10

Решение:

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

Результат:

Лабораторная работа:
Нарисовать таблицу умножения

Этап 1

  1. Создайте две числовые переменные и
  2. Присвойте созданным переменным произвольные значения в диапазоне от 1 до 10

Этап 2

  1. Используя циклы, отрисуйте таблицу умножения в виде HTML-таблицы на следующих условиях:
  • Число столбцов должно быть равно значению переменной
  • Число строк должно быть равно значению переменной
  • Ячейки на пересечении столбцов и строк должны содержать значения, являющиеся произведением порядковых номеров столбца и строки

Рекомендуется использовать циклы for

Этап 3

  • Значения в ячейках первой строки и первого столбца должны быть отрисованы полужирным шрифтом
  • Фоновый цвет ячеек первой строки и первого столбца должен быть отличным от фонового цвета таблицы. Сохраните файл.

Дополните код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<table border="1">
<?php
$rows=9;
$cols=9;
	for($tr=1; ...; ...){
		echo "<tr>";
		for($td=1; ...; ...){
			if(...){
				echo "<th style='background-color:yellow;font-weight:900'>", 
                         $tr * $td, "</th>";
			}else{
				echo "<td>", $tr * $td, "</td>";
			} 
		}	
		echo "</tr>";
	}
?> 
</table>

Количество элементов массива

Для удобства работы с массивами часто используется функция

Пример: Дан массив, состоящий из названий времен года. Необходимо вывести все элементы массива неизвестного размера

Решение:

1
2
3
4
5
6
7
8
9
<?php
$mas="Лето";
$mas="Осень";
$mas="Зима";
for ($n = ; $n <count($mas); $n++) 
{
	echo "$mas" . "<br>";
} 
?>

Результат:

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: