ΠΠ°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ php
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ min() ΠΈ max() :
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΡΠΎΡΡΠΌΠ°Ρ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΡΡ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΠΈ ΡΡΠ΅Π±Π½ΡΡ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ.
Π£ΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
1. ΠΠ°ΠΉΡΠΈ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΌ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
2. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°.
3. ΠΠ°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.
ΠΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
ΠΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡ.
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΠΌ 4 ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΡ ΠΊΠ»ΡΡΠΈ:
ΠΠ°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΠΈΠΊΠ»Π΅ ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΌΠΎΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ΅, ΡΡΠΎ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ.
ΠΡΠΈΠΌΠ΅Ρ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ foreach:
ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π°Ρ ΠΊΠΎΠ΄ ΡΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ ΡΡΠΎ Π΅ΡΡ Π½Π΅ Π²ΡΡ. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ FOREACH
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ WHILE
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 1: ΡΡΡΡΡΠΈΠΊ + count()
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 2: ΡΡΡΡΡΠΈΠΊ + isset()
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 3: list() + each()
ΠΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ foreach. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP 7.2 ΡΡΠ½ΠΊΡΠΈΡ each() ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 4: current() + next()
ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Ρ ΡΠΈΠΊΠ»ΠΎΠΌ FOR
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 1: ΡΡΡΡΡΠΈΠΊ + count()
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 2: ΡΡΡΡΡΠΈΠΊ + isset()
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 3: each() + list()
Π€ΡΠ½ΠΊΡΠΈΡ each() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² Ρ ΠΊΠ»ΡΡΠΎΠΌ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°, Π° list() ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π² 2 ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ each() Π²Π΅ΡΠ½ΡΡ false ΠΈ ΡΠΈΠΊΠ» ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ 4: current() + next()
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ next() ΡΠΌΠ΅ΡΠ°Π΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, Π° ΡΡΠ½ΠΊΡΠΈΠΈ current() ΠΈ key() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠ΅ ΠΊΠ»ΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π° ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΡΡΡΡΠΌΠΈ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅
Π Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ ΡΠΎ ΡΡΡΡΡΠΈΠΊΠ°ΠΌΠΈ Π·Π΄Π΅ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ.
ΠΠ°ΠΉΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ , ΠΊΡΡΡΠΎΠ²ΡΡ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΠ°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
:wall:ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ : ΠΠ°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΠΈΠ²Π΅; ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΡΠΎΠ³ΠΎ var max.

Π Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.

Π Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
Ρ Π²Π°Ρ ΠΆΠ΅ ΠΈ ΡΠ°ΠΊ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΡΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΎ 1(0) Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ 10 ))
ptenchyk, Π½Π°Ρ ΡΠΎΡΡΠΌ ΠΏΠΎΠ»ΠΎΠ½ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ, ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ. ΠΠ° ΠΈ Π³ΡΠ³Π» ΡΠΎΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ.
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ , ΠΊΡΡΡΠΎΠ²ΡΡ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΠ°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, Π²ΡΠ²Π΅ΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΡΠΈΡ
ΡΠΈΡΠ΅Π»
ΠΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. 1.ΠΠ°Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΈΡΠ»Π° Π² ΠΌΠ°ΡΡΠΈΠ².

ΠΠ°ΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΡΠ°Π½ΡΡΠ΅: ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΈΡ
ΡΠΈΡΠ΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ.

ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΏΡΠΎΠΏΠΈΡΠΈΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ FreePascal: Π Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΈΡΠ΅Π» Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° PHP/JavaScript
ΠΠ°ΡΡΠΈΠ²Ρ β ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΡΠ²ΠΎΠΉ ΠΊΠ»ΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌ, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π°Π·Π° Π½ΠΎΠΌΠ΅ΡΠΎΠ², Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ²ΠΎΡΡ ΠΎ ΡΠΈΡΠ»Π΅, ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΡΠ°Π²Π°ΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π·Π°Π΄Π°ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ²ΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ΅ΡΡ.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° PHP
ΠΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° ΠΏΡΠΎΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΊΠ»ΡΡΠ΅ΠΉ:
ΠΈ ΠΎΠ΄ΠΈΠ½, ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ, Π½ΠΎ ΡΠΆΠ΅ Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ:
ΠΠΎΡΡΠ°ΡΠ°Π΅ΠΌΡΡ Π²ΡΠ²Π΅ΡΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Β«maxΒ» ΠΈ Β«minΒ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ:
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ»ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°
ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠ»ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΡΡΠΎ Β«4Β», Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ β Β«6Β».
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° PHP
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π±Π΅Π· ΠΊΠ»ΡΡΠ΅ΠΉ:
Π, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Ρ Π½Π΅ΠΊΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ:
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΡΡΠΎΠ±Ρ Π·Π΄Π΅ΡΡ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ:
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π²ΡΡΠ΅. Π Π΄Π°Π»Π΅Π΅, ΠΏΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ Π΄Π°Π½Π½ΡΠ΅:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Π±ΠΎΠ½ΡΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°:
ΠΠΎΠ΄ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ Ρ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Ρ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅, Π° ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π³ΠΎ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ Β«priceΒ».
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ:
Π Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ:
ΠΠ° ΡΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ Π½Π° PHP Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΡΡΡΡΠΊΡΡΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ β Π·Π°Π΄Π°ΠΉΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , ΠΏΠΎΡΡΠ°ΡΠ°ΡΡΡ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° JavaScript
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ PHP, Π² JavaScript Π²ΠΈΠ΄ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΊΡΠ΄Π° ΠΏΡΠΎΡΠ΅, ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ½Π΄Π΅ΠΊΡΡ Π·Π΄Π΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π² ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π΄Π²Π΅ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΡ Π½Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅:
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²Π΅Π΄ΡΡΡΡ ΡΠΈΡΠ»Π° Β«2Β» ΠΈ Β«74Β» ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π° JavaScript
ΠΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ Π² JavaScript ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΎΡΡΡ, ΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΠ½ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΉ ΡΠΆΠ΅ Π½Π°ΠΌ ΡΡ Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ:
Π Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«MathΒ» ΠΏΠΎΠ»ΡΡΠΈΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Β«MathΒ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π½ΠΎ ΡΡΠΎΠ±Ρ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΡΡΠΎ Π»ΡΠ±ΡΡ Π·Π°Π΄Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ β Π·Π΄Π΅ΡΡ Ρ ΠΏΡΠΈΠ²Π΅Π» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΠΈ ΠΏΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ β Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΠΎΠ½ΡΡ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ:
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ :
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΏΠ΅ΡΠ΅Π΄ΠΈ Π²Π°Ρ ΠΆΠ΄Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ!
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅?
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΎΠΊ, Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ?
1. ΠΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0.
2. ΠΠ»ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠΎΠ±ΠΈΡ list[0].
Π Π±ΡΡΡΡΠ΅Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Math.max():
Math.max.apply(null, list)
ΠΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½. ΠΡΠ»ΠΈ ΡΠΆ ΡΡΠΈΡΠ°Π΅ΡΠ΅ Π²ΡΡΡΠ½ΡΡ, Π±Π΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠΎ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊ:
ΠΠ΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Π·Π°ΡΠ΅ΠΌ β ΡΠ°Π· ΡΠΆ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΡΠ΅Π±Π΅ Β«ΡΠ»Π°Π΄ΠΊΠΎΠ΅Β» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² (reduce(), sort(), forEach()), ΡΠΎ ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ Π²Π·ΡΡΡ ΡΡΠ°Π·Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π·Π°Π΄Π°ΡΠΈ )
ΠΠ° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
SlideUp, Π±Π΅Π· ΠΏΠ°Π½ΠΈΠΊΠΈ. Π’ΡΡ ΡΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎ ΡΠ±ΡΠ²Π°Π½ΠΈΡ ΠΈ Π±Π΅ΡΡΠΌ ΡΠ°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΠΎΠ½ ΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠ»Ρ ΡΠΈΡΠ΅Π» ΠΏΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡΠ»ΠΈ Π΄Π²Π° ΡΠΈΡΠ»Π° ΡΠ°Π²Π½Ρ, Π²Π΅ΡΠ½ΡΡ 0. ΠΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ β ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅, Π΅ΡΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΈ Π½Π°Π΄ΠΎ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ (ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ) Π² PHP? (ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: ΠΠ§ΠΠΠ¬ ΠΠΠΠ¬Π¨ΠΠ)
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Ρ ΠΎΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅Π»ΠΎΠΌ) Π² PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ 100 000 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ (Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΎ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ).
Π Π½Π°ΡΠ°Π»Π΅ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ Johannes ΠΈ Tyrael Π·Π° ΠΈΡ ΠΏΠΎΠΌΠΎΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ ΡΠΊΡΠΎΠΌΠ½ΡΡ ΠΌΠ΅ΡΡ ΡΠ°ΡΡ ΠΎΠ΄Π° ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ? ΠΡΠ»ΠΈ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠΎ 8 Π±Π°ΠΉΡ (Π½Π° 64 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΏ long) ΠΈ Π΅ΡΡΡ 100 000 ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΡΠΎ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ 800 000 Π±Π°ΠΉΡ. ΠΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ 0,76 ΠΠ±.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ on-line. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ 14 649 024 Π±Π°ΠΉΡ. ΠΠ°, Π²Ρ Π½Π΅ ΠΎΡΠ»ΡΡΠ°Π»ΠΈΡΡ, ΡΡΠΎ 13,97 ΠΠ± β Π² 18 ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΈΠΊΠΈΠ½ΡΠ»ΠΈ.
ΠΡΠ°ΠΊ, ΠΎΡΠΊΡΠ΄Π° ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΡΡΠΎ 18 ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅?
ΠΡΠ°ΡΠΊΠΎΠ΅ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΈΠΌ, Π²ΠΎΡ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ Π²ΠΎΠ²Π»Π΅ΡΡΠ½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
ΠΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠΈΡΠ»Π° ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ PHP Ρ debug ΠΈΠ»ΠΈ thread-safety, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΠ΄ΠΎΠ²ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ PHP 5.3 Π½Π° 64 ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΌ ΠΠΈΠ½ΡΠΊΡΠ΅.
ΠΡΠ»ΠΈ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ ΡΡΠΈ 144 Π±Π°ΠΉΡΠ° Π½Π° Π½Π°ΡΠΈ 100 000 ΡΠΈΡΠ΅Π», ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ 14 400 000 Π±Π°ΠΉΡ, ΡΡΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 13,73 ΠΠ±. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ β ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π±Π»ΠΎΠΊΠΎΠ²(buckets), Π½ΠΎ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΏΠΎΠ·ΠΆΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π²ΡΡΠ΅, ΡΠΎ ΡΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π»ΡΡΠ΅ :).
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ zvalue_value
Π‘Π½Π°ΡΠ°Π»Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ PHP Ρ ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΊ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ PHP ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π°Π±ΠΎΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΠΌΡ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (union), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ zend.h#307 (ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΈ):
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ C, ΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΠΊΠΎΠ΄ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ: ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ zvalue_value->lval, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ zvalue_value->ht, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΡ (aka ΠΌΠ°ΡΡΠΈΠ²).
ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ Π½Π° ΡΡΠΎΠΌ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΠ°ΠΆΠ½ΡΠΌ Π΄Π»Ρ Π½Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π²Π΅Π½ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΅Π³ΠΎ ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. Π‘Π°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ° (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΡΡΠΊΡΡΡΠ° zend_object_value ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΎ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΎΠΏΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ). Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (8 Π±Π°ΠΉΡ) ΠΈ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° (4 Π±Π°ΠΉΡΠ°). ΠΡΠΎΠ³ΠΎ 12 Π±Π°ΠΉΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (ΡΡΡΡΠΊΡΡΡΡ Π² 12 Π±Π°ΠΉΡ β ΡΡΠΎ Π½Π΅ ΠΊΡΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ 64 Π±ΠΈΡ/8 Π±Π°ΠΉΡ) ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π±ΡΠ΄Π΅Ρ 16 Π±Π°ΠΉΡ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΡΠ΅Π»ΠΎΠΌ.
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π΅ 8 Π±Π°ΠΉΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° 16 β Π·Π° ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ PHP. Π£ΠΌΠ½ΠΎΠΆΠΈΠ² Π½Π° 100 000 ΠΏΠΎΠ»ΡΡΠΈΠΌ 1 600 000 Π±Π°ΠΉΡ, Ρ.Π΅. 1,53 ΠΠ±. ΠΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΡΠΌ 13,97 ΠΠ±, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π»ΠΈ ΠΏΠΎΠΊΠ° ΡΠ΅Π»ΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° zval
ΠΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΡΡΠΎ union Ρ ΡΠ°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π° PHP, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΊ ΠΆΠ΅ Π΅Π³ΠΎ ΡΠΈΠΏ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°. Π‘ΡΡΡΠΊΡΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ zval ΠΈ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Π½Π΅ΠΉ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ PHP, Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ Sara Golemon. ΠΠ°ΠΊ Π±Ρ ΡΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ ΡΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π Π°Π·ΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠΌΠΌΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π²ΡΠ΅Ρ Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ: zvalue_value β 16 Π±Π°ΠΉΡ (ΡΠ°ΡΡΡΡ Π²ΡΡΠ΅), zend_uint β 4 Π±Π°ΠΉΡΠ°, zend_uchar β 1 Π±Π°ΠΉΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ. Π ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ 22 Π±Π°ΠΉΡΠ°. ΠΠΏΡΡΡ ΠΆΠ΅ ΠΈΠ·-Π·Π° Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ 24 Π±Π°ΠΉΡΠ°.
Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΡΠ°Π½ΠΈΠΌ 100 000 Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ 24 Π±Π°ΠΉΡΠ°, ΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ 2 400 000 Π±Π°ΠΉΡ ΠΈΠ»ΠΈ 2,29 ΠΠ±. Π Π°Π·ΡΡΠ² ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, Π½ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² ΡΠ΅ΡΡΡ ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅.
Π‘Π±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ (PHP 5.3)
PHP 5.3 ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° Π½ΠΎΠ²ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ»ΠΎΠΊ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ PHP Ρ ΡΠ°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π― Π½Π΅ Ρ ΠΎΡΡ Π·Π΄Π΅ΡΡ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΏΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠ°Π½ΡΠ°Π»Π°. ΠΠ»Ρ Π½Π°ΡΠΈΡ ΡΠ°ΡΡΡΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ zval ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ zval_gc_info:
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Zend ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π²Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ. ΠΠ±Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° β ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎ 8 Π±Π°ΠΉΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΠΆΠ΅ 8 Π±Π°ΠΉΡ.
ΠΡΠ»ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ 24 Π±Π°ΠΉΡΠ°, ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ 32 Π±Π°ΠΉΡΠ°. Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ ΡΡΠΎ Π½Π° 100 000 ΠΈ ΠΏΠΎΠ»ΡΠ°Π΅ΠΌ 3,05 ΠΠ±.
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ZEND
Π‘ΠΈ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ PHP, Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡΡ Π·Π° Π²Π°Ρ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ Π½ΡΠΆΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ: The Zend Memory Manager. MM Zend ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° malloc ΠΎΡ Doug Lea ΠΈ Π²ΡΡΡΠ΅ΡΠΊΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π»Ρ PHP ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΡΠΈΡΡΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅).
Π§ΡΠΎ Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π½Π°Ρ Π² ΡΡΠΎΠΌ ΡΠ°ΠΊ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ MM Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π½Π΅Π³ΠΎ. Π ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΎΠΏΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠΈ ΠΎΠΏΡΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅, ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ½ ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΠ΅ PHP Ρ Π·Π°ΡΠΈΡΠΎΠΉ ΠΊΡΡΠΈ(heap protection), Π·Π°ΡΠΈΡΠΎΠΉ ΠΏΠΎΡΠΎΠΊΠΎΠ²(thread safety), ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ ΠΈ MM cookies.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ size_t _size ΠΈ _prev. size_t Π·Π°Π½ΠΈΠΌΠ΅Ρ 8 Π±Π°ΠΉΡ (64 Π±ΠΈΡΠ°), ΡΠ°ΠΊ ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π² 16 Π±Π°ΠΉΡ β ΠΈ ΡΡΠΎΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
Π’Π°ΠΊ ΡΡΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ zval ΡΠ½ΠΎΠ²Π°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π΅ 32 Π±Π°ΠΉΡΠ°, Π° 48, ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. Π£ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ Π½Π° Π½Π°ΡΠΈ 100 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 4,58 ΠΠ±. Π Π΅Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ 13,97 ΠΠ±, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΡΠΆΠ΅ ΠΏΠΎΠΊΡΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΡΠ΅ΡΡ.
ΠΠ»ΠΎΠΊΠΈ
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎ ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π² PHP Π·Π°Π±ΠΈΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΠ°ΡΡΠΈΠ²Β» Π·Π΄Π΅ΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ. Π PHP ΠΌΠ°ΡΡΠΈΠ² β ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ Π΅Ρ ΡΠ°Π±Π»ΠΈΡΡ/ΡΠ»ΠΎΠ²Π°ΡΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ? Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΡΡ, ΠΈ ΡΡΠΎΡ Ρ ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² Β«ΡΠ΅Π°Π»ΡΠ½ΡΠΉΒ» C ΠΌΠ°ΡΡΠΈΠ². Π₯ΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ, Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Ρ ΡΡΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅. ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ PHP ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Ρ ΡΡ, ΠΈΡΠ΅Ρ Π½ΡΠΆΠ½ΡΠΉ Π±Π»ΠΎΠΊ(bucket), ΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π·Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ. ΠΠ»ΠΎΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (zend_hash.h#54):
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Β«Π³ΡΡΠ·Β» Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΡ Π²ΡΠΎΠ΄Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² PHP (ΠΌΠ°ΡΡΠΈΠ²Ρ PHP ΡΠ²Π»ΡΡΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ, ΡΠ»ΠΎΠ²Π°ΡΡΠΌΠΈ ΠΈ ΡΠ²ΡΠ·Π½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π² ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΡ ). Π Π°Π·ΠΌΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΡΠΎ: 8 Π±Π°ΠΉΡ Π΄Π»Ρ ΡΠΈΠΏΠ° ulong, 4 Π±Π°ΠΉΡΠ° Π΄Π»Ρ uint ΠΈ 7 ΡΠ°Π· ΠΏΠΎ 8 Π±Π°ΠΉΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ 68. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 72 Π±Π°ΠΉΡΠ°.
ΠΠ»Ρ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ zval Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π² 16 Π±Π°ΠΉΡ, ΡΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ 88 Π±Π°ΠΉΡ. Π’Π°ΠΊ ΠΆΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠΈ Π±Π»ΠΎΠΊΠΈ Π² Β«Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΒ» ΠΌΠ°ΡΡΠΈΠ²Π΅ C (Bucket **arBuckets;), Ρ ΡΠΏΠΎΠΌΠ½ΠΈΠ» ΠΎΠ± ΡΡΠΎΠΌ Π²ΡΡΠ΅, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΅ΡΡ 8 Π±Π°ΠΉΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ. Π’Π°ΠΊ ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅Ρ Π² 96 Π±Π°ΠΉΡΠ°Ρ ΠΏΠ°ΠΌΡΡΠΈ.
Π ΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π±Π»ΠΎΠΊ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΡΡΠΎ Π±ΡΠ΄Π΅Ρ 96 Π±Π°ΠΉΡ Π΄Π»Ρ bucket ΠΈ 48 Π±Π°ΠΉΡ Π΄Π»Ρ zval, ΡΡΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 144 Π±Π°ΠΉΡΠ° Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΠ»Ρ 100 000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎ Π±ΡΠ΄Π΅Ρ 14 400 000 Π±Π°ΠΉΡ ΠΈΠ»ΠΈ 13,73 ΠΠ±.
ΠΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, ΠΎΡΡΠ°Π»ΠΎΡΡ Π΅ΡΡ 0,24 ΠΠ±!
ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 0,24 ΠΠ± ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Ρ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ: ΡΠ°Π·ΠΌΠ΅Ρ Β«ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎΒ» ΠΌΠ°ΡΡΠΈΠ²Π° C Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π²Π΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ (Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ). ΠΠΎ PHP, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²Π΅ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ β ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠΎΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ PHP Π²ΡΠ΅Π³Π΄Π° ΡΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π±Π»ΠΎΠΊΠΎΠ², Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² ΠΏΡΠ΅Π΄Π΅Π». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π΄Π²ΠΎΠΉΠΊΠΈ.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ 2 ^ 17 = 131 072. ΠΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ 100 000 ΠΈΠ· ΡΡΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ 31 072 Π±Π»ΠΎΠΊΠ° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ. Π’Π΅, ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΡΠΈ Π±Π»ΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ (ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ ΡΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ 96 Π±Π°ΠΉΡ), Π½ΠΎ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ(ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π±Π»ΠΎΠΊΠΎΠ²) Π½Π° Π±Π»ΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π°. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ 8 Π±Π°ΠΉΡ (Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ) * 31 072 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎ 248 576 Π±Π°ΠΉΡ ΠΈΠ»ΠΈ 0,23 ΠΠ±. Π§ΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ. (ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°ΠΉΡ, Π½ΠΎ Ρ Π½Π΅ Ρ ΠΎΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠΊΡΡΡΡ Π²ΡΡ. ΠΡΠΎ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠ° ΡΡΡΡΠΊΡΡΡΠ° Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Ρ.Π΄.)
ΠΠ°Π³Π°Π΄ΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π°.
Π ΡΡΠΌ Π½Π°ΠΌ ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ?
PHP Π½Π΅ C. Π ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ Π½Π°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ± ΡΡΠΎΠΌ. ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΎΡ ΡΡΠΏΠ΅Ρ-Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° PHP ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ°ΠΊ Π² C. ΠΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈ Π²ΡΡ.
ΠΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SplFixedArray Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ:
Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠ΅, ΡΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Β«Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡΒ» 5 600 640 Π±Π°ΠΉΡ. Π§ΡΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 56 Π±Π°ΠΉΡ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° ΡΡΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ 144 Π±Π°ΠΉΡΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² bucket ΡΡΡΡΠΊΡΡΡΠ΅: ΡΠ°ΠΊ ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ zval (48 Π±Π°ΠΉΡ) ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (8 Π±Π°ΠΉΡ) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΡΠΎ Π΄Π°ΡΡ Π½Π°ΠΌ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΡΠ΅ 56 Π±Π°ΠΉΡ.


