Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Цикл WHILE.

Синтаксис:

while (условие)  {
  команды, выполняющиеся при верности условия
;
}

Цикл WHILE в отличие от цикла FOR используется в случае, если число повторений выполнения команд неизвестно.

Пример:

<?
$p = 10;
$n = 0;
while ($p <= 20) {
 $n++;
  $p+= 0.1*$p;
}
echo "Цикл выполнился ".$n." раз"; ?>

Выше вы могли заметить новый оператор. (точка). Это так называемый оператор "склеивания". Он работает только со строковыми типами данных.

На этом заканчиваем урок, а на следующем мы познакомимся с функциями PHP.

Урок 4. Функционируем?

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

В PHP существует два типа функций:

    зарезервированные функции; функции, определяемые пользователем.

С первым типом мы уже сталкивались, например, когда упоминали функцию print_r(). Эти функции уже заранее разработаны производителем, и мы можем беспрепятственно ими воспользоваться. Они имеют самое разнообразное применение: это и математические функции, и функции работы со строками, массивами, файлами, временем и так далее. Все эти функции вы можете посмотреть в Мануале PHP, либо с некоторыми наиболее используемыми функциями, переведенными на русский язык, вы можете познакомиться прямо на этом сайте.

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

НЕ нашли? Не то? Что вы ищете?

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

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

function имя_функции(аргумент1, аргумент2 и так далее)
{
  некоторый операции, выполняемые при вызове функции ;
}

Имя функции - оригинальный идентификатор, может содержать все буквы латинского алфавита, числа и знак подчеркивания. Следите, чтобы имя вашей функции не совпадало с зарезервированной функцией PHP, иначе программа выведет ошибку. Заметьте, что имя функции, в отличие от имени переменной, нечувствительно к регистру.

Аргументами функций могут являться переменные и/или константы. Это те значения, которые будут использоваться командами в теле функции.

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

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

Приведу в качестве примера определение простенькой функции:

function sum($a, $b)
{
  $c = $a + $b;
  echo "$a + $b = $c <br>";
  return $c;
}

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

$a = sum(12, 5);
echo $a;
/* этот код выведет
12 + 5 = 17
17
*/

В этом примере переменной $a присвоилось значение, возвращенное  функцией sum (т. е. значение $c). Если бы мы не указали в определении функции return $c, то пример выше вывел бы только 12 + 5 = 17.

Нужно учесть, что все переменные внутри функции являются локальными, действующими только в теле функции. Поэтому в примере выше не было ошибкой строчка $a = sum(12, 5), где в функции sum уже есть своя переменная $a. Эти переменные никоем образом не пересекаются и имеют совершенно разное значение.

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

function word ($word) 
//функция word() и переменная $word - совершенно разные вещи
{
  global $string;  //определение $string как глобальной
  $string = $word." - отличная вещь!";
}
word ("PHP");
echo $string;  //выведет "PHP - отличная вещь!"

Как видите, мы не применяли return, так что функция ничего не возвращает, но мы определили переменную $string как глобальную, поэтому она действует в пределах всего кода php, так что в данном случае $string в функции равна $string вне функции.

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

function mult ($a)
{
  static $result=1;  //определение $result как статичной
  $result *= $a;
  echo $result.'<br>';
}
for ($i=2; $i<=4; $i++)
{ mult($i) ;}

/*выведет
2
6
24
*/

Если бы мы не написали static, то пример вывел бы числа 2, 3 и 4.

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

function arr_count ($a, $b=3)  /* значение по умолчанию должно указываться справа */
// такая запись: function arr_count ($b=3, $a) - будет работать неверно
{
  global $array;
  $result = $array[$a] + $array[$b];
  return $result;
}
$array = array(2, 5, 4, 7, 2);
echo arr_count(2)." + ".arr_count(1, 4)." = ".(arr_count(2) + arr_count(1, 4));
// выведет
11 + 7 = 18

Функцию можно сделать значением переменной. Например, продолжаем пример выше:

$CountArray='arr_count';
echo $CountArray(0);  //выведет число 9

На этом все. До следующего урока.

Урок 5. Наша первая считалка.

Итак, мы уже достаточно узнали, чтобы перейти к практике. И сегодня на уроке мы с вами создадим несложный калькулятор.

Хорошо. Давайте сначала продумаем, что будет делать наш калькулятор. В первую очередь, он, конечно, должен выполнять арифметические действия: сложение, вычитание, деление и умножение. Неплохо. Но где вы сейчас увидите калькулятор только с такими функциями? Поэтому снабдим его еще несколькими функциями, но перегружать его не будем. Договоримся, что наша "считалка" будет еще вычислять корень из числа, возводить его в указанную степень и, наконец, выводить процент от числа.

Решили? Теперь приступаем. Создаем файл, который называем calc. php. Использование функций позволит нам совместить в этом файле как форму для ввода чисел и других данных, так и вывод результата.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Калькулятор</title>
</head>
<body>
<?  /* приступаем непосредственно php коду */
function show()
{
  global $action;
  ?>
  <FORM method=Get action="calc. php" target="_blank">
/* target="_blank" - результат обработки формы будет выводится в новом окне */
  Первое число
  <input type="text" name="first">
  Второе число (Степень, процент)
  <input type="text" name="second">
  <select size="1" name="action">
    <option value="sum">Сложить</option>
    <option value="min">Вычесть</option>
    <option value="mult">Умножить</option>
    <option value="dev">Разделить</option>
    <option value="stepen">Возвести в степень</option>
    <option value="procent">Процент от числа</option>
    <option value="koren">Корень</option>
  </select>
  <br><input type="submit" value="Выполнить">
  </form>
  <?php 
}  //конец функции show()

Итак, мы определили функцию show, которая, как вы поняли, будет выводить форму. Заметьте, как мы разбили php скрипт, вставив блок HTML, но все же это все относится к одной функции show, это подобно тому, если бы не прерывали скрипт, а вместо этого написали бы echo "<FORM и так далее </html>";. Пока ни о каком дизайне формы нет и речи, это лишь "скелет" Калькулятора.

Продолжаем дальше писать файл calc. php.

function calc()
{
global $action, $result, $first, $second;
switch($action)
 {
  case "sum": $result = $first+$second; break;
  case "min": $result = $first-$second; break;
  case "mult": $result = $first*$second; break;
  case "dev": 
  if (!$second)  /* если второе число равно "0" или вообще не введено */
  {
  exit("Извините, программа не может выполнить действие: на ноль делить нельзя");
  }
  $result=$first/$second; break;
  case "procent": $result = $first*($second/100); break;
  case "stepen": $result = pow($first, $second); break;
  case "koren": $result = pow($first,0.5); break;
 }
?>  //заканчиваем оператор switch
 Результат Вашего действия равен <b>
 <? echo $result; ?>  //вывод результата
 </b>
 </font>
 <?
}  //конец функций calc()

Написали функцию calc, занимающуюся непосредственно вычислением результата и вывода его на экран пользователя.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13