2017 © Pedro PelΓ‘ez
 

library expression

text formula converter to expression

image

4slovo/expression

text formula converter to expression

  • Monday, July 23, 2018
  • by 4slv
  • Repository
  • 0 Watchers
  • 0 Stars
  • 309 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 12 Versions
  • 0 % Grown

The README.md

Expression

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 4slovo/expression позволяСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ псСвдокод Π² php-ΠΊΠΎΠ΄, это позволяСт: 1) вынСсти бизнСс Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ 2) ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ языковыС конструкции Π΄ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Ρ… Π² псСвдокодС 3) ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ синтаксис ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для слоТСния Π΄Π°Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ +), (*1)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ расчёта ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΊΡ€ΡƒΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ:, (*2)

$area = 3.14 * ($radius ** 2);

Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² php-ΠΊΠΎΠ΄, производящий расчёт ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΊΡ€ΡƒΠ³Π° Π² зависимости ΠΎΡ‚
ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $radius, (*3)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:, (*4)

$expressionText = '$radius = 2; $area = 3.14 * ($radius ** 2);';
$codeContext = new CodeContext();
$codeExecutor = new CodeExecutor();
$variableName = '$result';
$areaResult = $codeExecutor
    ->setCode($expressionText)
    ->setCodeContext($codeContext)
    ->execute()
    ->getVariableByName('$area');

echo $areaResult; # Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 12.56  

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
+ addOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int 1 + 1 == 2
int float float 1 + 1.1 == 2.1
float int float 1.1 + 1 == 2.1
float float float 1.1 + 1.2 == 2.3
money money money 1$ + 2$20 == 3$20
dateInterval dateInterval dateInterval 1 day + 2 days == 3 days
dateInterval dateTime dateTime 1 day + 2018.01.02 == 2018.01.03
dateTime dateInterval dateTime 2018.01.02 + 1 day == 2018.01.03

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
- SubtractionOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int 2 - 1 == 1
int float float 2 - 1.1 == 0.9
float int float 1.1 - 2 == -0.9
float float float 2.2 - 1.1 == 1.1
money money money 2$ - 1$ == 1$
dateInterval dateInterval dateInterval 2 day - 1 day == 1 day
dateTime dateTime dateInterval 2018.01.02 - 2018.01.01 == 1 day
dateTime dateInterval dateTime 2018.01.02 - 1 day == 2018.01.01

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
* MultiplyOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int 2 * 2 == 4
int float float 2 * 1.1 == 2.2
float int float 1.1 * 2 == 2.2
float float float 1.1 * 1.1 == 1.21
money int money 2$ * 2 == 4$
money float money 2$ * 2.1 == 4$20

Π”Π΅Π»Π΅Π½ΠΈΠ΅

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
/ DivisionOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int float 5 / 2 == 2.5
int float float 5 * 1.1 == 2.2
float int float 5 / 2.2 == 2.272727...
float float float 1.21 / 1.1 == 1.1
money int money 2$ / 2 == 1$
money float money 2$ / 2.1 == $95

Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
** ExponentiationOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int 2 ** 3 == 8
int float float 2 ** 1.1 == 2.1435...
float int float 2.2 ** 2 == 4.84
float float float 2.2 ** 2.2 == 5.6666...

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
% RemainderOfDivisionOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int 5 % 3 == 2
int float int 5 % 3.9 == 2
float int int 5.5 % 3 == 2
float float int 5.5 % 3.9 == 2

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния

Π Π°Π²Π½ΠΎ

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
== EqualOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
int int boolean 1 == 1 true
int int boolean 1 == 2 false
float float boolean 1.1 == 1.1 true
float float boolean 1.1 == 1.2 false
money money boolean 100$ == 100$ true
money money boolean 100$ == 200$ false
dateInterval dateInterval boolean 2 day == 2 day true
dateInterval dateInterval boolean 2 day == 3 day false
dateTime dateTime boolean 2018.06.19 15:06:00 == 2018.06.19 15:06:00 true
dateTime dateTime boolean 2018.06.19 15:06:00 == 2018.06.19 15:06:01 false
string string boolean 'a' == 'a' true
string string boolean 'a' == 'b' false

НС Ρ€Π°Π²Π½ΠΎ

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
!= EqualOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
int int boolean 1 != 1 false
int int boolean 1 != 2 true
float float boolean 1.1 != 1.1 false
float float boolean 1.1 != 1.2 true
money money boolean 100$ != 100$ false
money money boolean 100$ != 200$ true
dateInterval dateInterval boolean 2 day != 2 day false
dateInterval dateInterval boolean 2 day != 3 day true
dateTime dateTime boolean 2018.06.19 15:06:00 != 2018.06.19 15:06:00 false
dateTime dateTime boolean 2018.06.19 15:06:00 != 2018.06.19 15:06:01 true
string string boolean 'a' != 'a' false
string string boolean 'a' != 'b' true

Π‘ΠΎΠ»ΡŒΡˆΠ΅

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
> GreaterOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
int int boolean 3 > 2 true
int int boolean 3 > 3 false
int int boolean 3 > 4 false
float float boolean 3.14 > 3.13 true
float float boolean 3.14 > 3.14 false
float float boolean 3.14 > 3.15 false
money money boolean 301$ > 300$ true
money money boolean 300$ > 300$ false
money money boolean 300$ > 301$ false
dateInterval dateInterval boolean 6 day > 5 day true
dateInterval dateInterval boolean 6 day > 6 day false
dateInterval dateInterval boolean 6 day > 7 day false
dateTime dateTime boolean 2018.06.19 15:06:00 > 2018.06.19 15:05:59 true
dateTime dateTime boolean 2018.06.19 15:06:00 > 2018.06.19 15:06:00 false
dateTime dateTime boolean 2018.06.19 15:06:00 > 2018.06.19 15:06:01 false
string string boolean 'a' > 'a' false
string string boolean 'a' > 'b' false
string string boolean 'b' > 'a' true

МСньшС

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
< LessOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
int int boolean 3 < 4 true
int int boolean 3 < 3 false
int int boolean 3 < 2 false
float float boolean 3.14 < 3.15 true
float float boolean 3.14 < 3.14 false
float float boolean 3.14 < 3.13 false
money money boolean 300$ < 301$ true
money money boolean 300$ < 300$ false
money money boolean 301$ < 300$ false
dateInterval dateInterval boolean 6 day < 7 day true
dateInterval dateInterval boolean 6 day < 6 day false
dateInterval dateInterval boolean 6 day < 5 day false
dateTime dateTime boolean 2018.06.19 15:06:00 < 2018.06.19 15:06:01 true
dateTime dateTime boolean 2018.06.19 15:06:00 < 2018.06.19 15:06:00 false
dateTime dateTime boolean 2018.06.19 15:06:00 < 2018.06.19 15:05:59 false
string string boolean 'a' < 'a' false
string string boolean 'a' < 'b' true
string string boolean 'b' < 'a' false

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
>= GreaterOrEqualOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
int int boolean 3 >= 2 true
int int boolean 3 >= 3 true
int int boolean 3 >= 4 false
float float boolean 3.14 >= 3.13 true
float float boolean 3.14 >= 3.14 true
float float boolean 3.14 >= 3.15 false
money money boolean 301$ >= 300$ true
money money boolean 300$ >= 300$ true
money money boolean 300$ >= 301$ false
dateInterval dateInterval boolean 6 day >= 5 day true
dateInterval dateInterval boolean 6 day >= 6 day true
dateInterval dateInterval boolean 6 day >= 7 day false
dateTime dateTime boolean 2018.06.19 15:06:00 >= 2018.06.19 15:05:59 true
dateTime dateTime boolean 2018.06.19 15:06:00 >= 2018.06.19 15:06:00 true
dateTime dateTime boolean 2018.06.19 15:06:00 >= 2018.06.19 15:06:01 false
string string boolean 'a' >= 'a' true
string string boolean 'a' >= 'b' false
string string boolean 'b' >= 'a' true

МСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

Π—Π½Π°ΠΊ Класс ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
<= LessOrEqualsOperation

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ Π»Π΅Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
int int boolean 3 <= 4 true
int int boolean 3 <= 3 true
int int boolean 3 <= 2 false
float float boolean 3.14 <= 3.15 true
float float boolean 3.14 <= 3.14 true
float float boolean 3.14 <= 3.13 false
money money boolean 300$ <= 301$ true
money money boolean 300$ <= 300$ true
money money boolean 301$ <= 300$ false
dateInterval dateInterval boolean 6 day <= 7 day true
dateInterval dateInterval boolean 6 day <= 6 day true
dateInterval dateInterval boolean 6 day <= 5 day false
dateTime dateTime boolean 2018.06.19 15:06:00 <= 2018.06.19 15:06:01 true
dateTime dateTime boolean 2018.06.19 15:06:00 <= 2018.06.19 15:06:00 true
dateTime dateTime boolean 2018.06.19 15:06:00 <= 2018.06.19 15:05:59 false
string string boolean 'a' <= 'a' true
string string boolean 'a' <= 'b' true
string string boolean 'b' <= 'a' false

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

date - ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊ Π΄Π°Ρ‚Π΅

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
dateTime dateTime (dateTime) date(2018.01.02 22:32:18) == 2018.01.02

dateFormat - ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊ строкС

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
dateTime string (string) dateFormat(2018.01.02, 'Y.m.d') == '2018.01.02'

daysInYear - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ числа Π΄Π½Π΅ΠΉ Π² Π³ΠΎΠ΄Ρƒ для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
dateTime int (int) daysInYear(2018.01.02) == 365
(int) daysInYear(2016.01.02) == 366

days - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ числа Π΄Π½Π΅ΠΉ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
dateInterval int (int) days(2 days) == 2
(int) days(2016.01.03 - 2016.01.01) == 2
int dateInterval (dateInterval) days(1) == 1 day

firstYearDay - ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹ Π² Π΄Π°Ρ‚Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа Π³ΠΎΠ΄Π°

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
dateTime dateTime (dateTime) firstYearDay(2018.06.12 08:56:10) == 2018.01.01 00:00:00

int - ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² Ρ†Π΅Π»ΠΎΠ΅ число

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
float int int(1.1) == 1
float int int(3.9) == 3
money int int(1$01) == 101

money - ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ числа Π² дСньги

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
float money money(100.1) == 1$
int money money(100) == 1$

min - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ минимального значСния

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° N Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int (int) min(3,1,2) == 1
float float float (float) min(3.1, 1.2, 2.3) == 1.2
money money money (money) min(3$, 1$, 2$) == $1
dateTime dateTime dateTime (dateTime) min(2018.01.01, 2019.01.01, 2015.01.01) == 2015.01.01
dateInterval dateInterval dateInterval (dateInterval) min(3 days, 1 day, 2 days) == 1 day

max - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ минимального значСния

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° N Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int int int (int) max(3,1,2) == 3
float float float (float) max(3.1, 1.2, 2.3) == 3.1
money money money (money) max(3$, 1$, 2$) == $3
dateTime dateTime dateTime (dateTime) max(2018.01.01, 2019.01.01, 2015.01.01) == 2019.01.01
dateInterval dateInterval dateInterval (dateInterval) max(3 days, 1 day, 2 days) == 3 days

isNull - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ являСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
null boolean (boolean) isNull(null) == true
int boolean (boolean) isNull(3) == false
float boolean (boolean) isNull(3.1) == false
money boolean (boolean) isNull(3$) == false
dateTime boolean (boolean) isNull(2018.01.01) == false
dateInterval boolean (boolean) isNull(3 days) == false

isNotNull - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ являСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
null boolean (boolean) isNull(null) == false
int boolean (boolean) isNull(3) == true
float boolean (boolean) isNull(3.1) == true
money boolean (boolean) isNull(3$) == true
dateTime boolean (boolean) isNull(2018.01.01) == true
dateInterval boolean (boolean) isNull(3 days) == true

floor - ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ блиТайшСго мСньшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ (для Π΄Π΅Π½Π΅Π³ Π΄ΠΎ ΠΌΠ°ΠΆΠΎΡ€Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†)

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
float float (int) floor(100.23) == 100
money money (money) floor(1$23) == 1$

ceil - ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ блиТайшСго большСго Ρ†Π΅Π»ΠΎΠ³ΠΎ (для Π΄Π΅Π½Π΅Π³ Π΄ΠΎ ΠΌΠ°ΠΆΠΎΡ€Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†)

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
float float (int) ceil(100.23) == 101
money money (money) ceil(1$23) == 2$

round - ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ матСматичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ (для Π΄Π΅Π½Π΅Π³ Π΄ΠΎ ΠΌΠ°ΠΆΠΎΡ€Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ†)

ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
float float (int) round(100.5) == 101
money money (money) round(1$50) == 2$

printR - Π²Ρ‹Π²ΠΎΠ΄ значСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ print_r

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ null printR(1); // Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 1

varDump - Π²Ρ‹Π²ΠΎΠ΄ значСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ var_dump

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ null varDump(1); // Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ int(1)

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами

array - созданиС массива

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° N Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ array array(1$, 2.0, 3);

getArrayValue - ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· массива ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 2 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array int ΠΈΠ»ΠΈ string (ΠΊΠ»ΡŽΡ‡) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) $list = array(1, 2, 3);
$result = (int)getArrayValue($list, 2);
// пСрСмСнная $result Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3Π΅Π³ΠΎ элСмСнта массива

setArrayValue - установка значСния Π² массив ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 2 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 3 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array int ΠΈΠ»ΠΈ string (ΠΊΠ»ΡŽΡ‡) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) null $list = array(1, 2, 3);
setArrayValue($list, 2, 5);
// 3ΠΈΠΉ элСмСнт массива Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5

arrayKeyExists - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования ΠΊΠ»ΡŽΡ‡Π° Π² массивС

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 2 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
int ΠΈΠ»ΠΈ string (ΠΊΠ»ΡŽΡ‡) array boolean $list = array(1, 2, 3);
$resultTrue = arrayKeyExists(0, $list);
$resultFalse = arrayKeyExists(3, $list);

reset - сброс указатСля массива Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) $list = array(1, 2, 3);
$firstElement = (int) reset($list);
// $firstElement = 1

end - сброс указатСля массива Π½Π° послСдний элСмСнт

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) $list = array(1, 2, 3);
$lastElement = (int) end($list);
// $lastElement = 3

next - ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ массива Π²ΠΏΠ΅Ρ€Ρ‘Π΄

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) $list = array(1, 2, 3);
$secondElement = (int) next($list);
// $secondElement = 2

prev - ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ массива Π½Π°Π·Π°Π΄

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) $list = array(1, 2, 3, 4);
end($list);
$thirdElement = (int) prev($list);
// $thirdElement = 3

key - ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° элСмСнта Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ массива

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array int ΠΈΠ»ΠΈ string (ΠΈΠ»ΠΈ null Ссли ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ находится Π²Π½Π΅ массива) $list = array(1, 2, 3, 4);
$firstElementKey = key($list);
// $firstElementKey = 0

count - ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array int $list = array(1, 2, 3);
$listSize = (int) count($list);
// $listSize = 3

arrayKeys - ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ массива

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array array $list = (array) arrayKeys(array(1, 3, 2)); // $list = array(0, 1, 2)

sort - сортировка элСмСнты массива Π² порядкС возрастания

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array array $list = (array) sort(array(1, 3, 2)); // $list = array(1, 2, 3)

rsort - сортировка элСмСнты массива Π² порядкС убывания

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array array $list = (array) rsort(array(1, 3, 2)); // $list = array(3, 2, 1)

asort - сортировка ΠΊΠ»ΡŽΡ‡Π΅ΠΉ массива Π² порядкС возрастания

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array array $list = (array) arrayKeys(asort(array(1, 3, 2))); // $list = array(0, 2, 1)

arsort - сортировка ΠΊΠ»ΡŽΡ‡Π΅ΠΉ массива Π² порядкС убывания

Π’ΠΈΠΏ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° 1 Π’ΠΈΠΏ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€
array array $list = (array) arrayKeys(arsort(array(1, 3, 2))); // $list = array(0, 2, 1)

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
$a = 1; создаётся пСрСмСнная $a со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 1
$i = 1; $i = $i + 1; создаётся пСрСмСнная $i со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 1, Π° Π·Π°Ρ‚Π΅ΠΌ инициализируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 2

Π’Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
1 > 2 ? 1 : 2 2
1 < 2 ? 1 : 2 1
1 < 2 && 2 < 3 ? 1 : 2 1
1 < 2 && 2 > 3 ? 1 : 2 2
1 < 2 ? 1 + 1 : 2 + 2 2
1 > 2 ? 1 + 1 : 2 + 2 4

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if

синтаксис:
if(conditionExpression){ doStatementList }
, Π³Π΄Π΅
conditionExpression - логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true - Ρ†ΠΈΠΊΠ» Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ
doStatementList - список инструкций ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
, (*5)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
if(1 > 2) { $a = 1; } пСрСмСнная $a Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1

Π¦ΠΈΠΊΠ» for

синтаксис:
for(firstStatement; conditionExpression, eachStepStatement){ doStatementList }
, Π³Π΄Π΅
firstStatement - инструкция Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ ΠΏΠ΅Ρ€Π²ΠΎΠΉ
conditionExpression - логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true - Ρ†ΠΈΠΊΠ» Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ
eachStepStatement - инструкция Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг
doStatementList - список инструкций ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ
, (*6)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
for($i = 1; $i < 10; $i = $i + 1) { $a = $i; } пСрСмСнная $a Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 9

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π§Π΅ΠΌ большС ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‚Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° опСрация, (*7)

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚
! 17
*, /, % 16
+, - 15
>
>=
<
<=
13
== 12
&& 8
`\ |` | 7
= 4

Π’ выраТСниях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скобки для измСнСния стандартных ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ², (*8)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² выраТСниях Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с символа $, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, $creditAmount, $creditPeriod ..., (*9)

Π’ΠΈΠΏΡ‹

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ: boolean, int, float, money, dateTime, dateInterval, null, string, (*10)

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’ выраТСния ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: (money) annuityPayment($yearPercent, $creditAmount, $creditMonths). НазваниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с указания Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Ссли ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π½Π΅Ρ‚, Ρ‚ΠΎ скобки () всё-Ρ€Π°Π²Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, выраТСния ΠΈ Ρ‚ΠΈΠΏΡ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² тСстС: TestExpression::testExpressionFunction, (*11)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

синтаксис:
/* многострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ */, (*12)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
/* ΠŸΡ€ΠΈΠΌΠ΅Ρ€ */ 1 + 1 /* коммСнтария */ 2

The Versions

23/07 2018

dev-master

9999999-dev

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

23/07 2018

v1.0.7

1.0.7.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

20/07 2018

dev-tmp

dev-tmp

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

10/07 2018

v1.0.6

1.0.6.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

30/06 2018

v1.0.5

1.0.5.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

29/06 2018

dev-SLOV-3190

dev-SLOV-3190

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

26/06 2018

v1.0.4

1.0.4.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

24/06 2018

v1.0.3

1.0.3.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

22/06 2018

v1.0.2

1.0.2.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

22/06 2018

dev-SLOV-3168

dev-SLOV-3168

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

22/06 2018

v1.0.1

1.0.1.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin

19/06 2018

v1.0.0

1.0.0.0

text formula converter to expression

  Sources   Download

MIT

The Requires

 

The Development Requires

by Alexey Dobrynin