Prefix och postfix i PHP

Faktum är att inkrement- och dekrementoperationer kan skrivas på två sätt. I postfix skrivs operationen efter variabelnamnet, så här: $a++, och i prefix skrivs den före variabelnamnet, så här: ++$a. Låt oss titta på exempel för att se skillnaden mellan de två sätten.

I nästa exempel kommer det första echo att skriva ut 0, eftersom utskriften till skärmen sker först, och först därefter ökas variabeln:

php<?php
  $num = 0;
  echo $num++; // skriver ut 0, eftersom variabeln ökas först efter echo
  echo $num;   // skriver ut 1 - variabeln har ändrats
?>

Och nu kommer variabeln att ökas först, och först därefter sker utskriften till skärmen:

php<?php
  $num = 0;
  echo ++$num; // skriver ut 1 - variabeln ökades omedelbart
?>

Detta beteende gäller inte bara för utskrift till skärmen, utan också för tilldelning:

php<?php
  $num1 = 0;
  $num2 = $num1++; // till variabeln $num2 tilldelas 0
  echo $num2;      // skriver ut 0
  echo $num1;      // skriver ut 1 - variabeln $num1 ändrades efter tilldelningen till $num2
?>

Låt oss nu ändra från postfix-form till prefix-form:

php<?php
  $num1 = 0;
  $num2 = ++$num1; // till variabeln $num2 tilldelas 1
  echo $num2;      // skriver ut 1
?>

Om vår operation utförs på en separat rad, så finns det ingen skillnad mellan prefix- och postfix- formerna:

php<?php
  $num = 0;
  ++$num;
  $num++;
  echo $num; // skriver ut 2
?>
Задание 1

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num = 3;
  echo ++$num;
?>
Задание 2

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num = 3;
  echo $num++;
?>
Задание 3

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num = 3;
  echo --$num;
?>
Задание 4

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num = 3;
  echo $num--;
?>
Задание 5

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num1 = 3;
  $num2 = ++$num1;
  echo $num1;
  echo $num2;
?>
Задание 6

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num1 = 3;
  $num2 = $num1++;
  echo $num1;
  echo $num2;
?>
Задание 7

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num1 = 3;
  $num2 = --$num1;
  echo $num1;
  echo $num2;
?>
Задание 8

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num1 = 3;
  $num2 = $num1--;
  echo $num1;
  echo $num2;
?>
Задание 9

Utan att köra koden, bestäm vad som skrivs ut på skärmen:

php<?php
  $num1 = 3;
  $num1++;
  $num2 = $num1--;
  echo $num1++;
  echo --$num2;
?>