рдЖрдкрдХреЗ рд▓рд┐рдП PHP 7.4 рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?
PHP рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдирд╡реАрдирддрдо PHP 7.4 рдЕрдкрдбреЗрдЯ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рднрд░рдкреВрд░ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд┐рдЫрд▓реЗ PHP 7 рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд╕рд┐рджреНрдз рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ - рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЧрддрд┐ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд░рд╣рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рд░реЛрдорд╛рдВрдЪрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рд╣реИ ред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рддреЗрдЬ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХреА рд╕рд░рд▓реАрдХреГрдд рд╕рд╛рдорд╛рдиреНрдп рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рддреЗрдЬреА рд╕реЗ рдФрд░ рдХреНрд▓реАрдирд░ рдХреЛрдб рд╣реЛрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред
PHP рдХреЗ рдкреНрд░рднрд╛рд░реА рд▓реЛрдЧреЛрдВ рдиреЗ рдЕрдкрдиреЗ рджрд░реНрд╢рдХреЛрдВ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ рдЕрдзрд┐рдХрддрдо рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рд▓рд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрджреЛрд╖ рд░реВрдк рд╕реЗ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ред рддрдм рд╕реЗ рд╡реЗ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рддреЗ рдХреЛрдб рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдФрд░ рдЕрдзрд┐рдХ рдЖрд░рд╛рдорджрд╛рдпрдХ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред
PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ 78.9% рд╕реЗ рдЕрдзрд┐рдХ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
W3tech рдХреЗ рдЕрдиреБрд╕рд╛рд░, PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рд╛рдЗрдЯреЗрдВ рд╣реИрдВ, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛, Pinterest рдФрд░ Facebook, рдХреБрдЫ рдирд╛рдоред
рдпрджрд┐ рд╣рдо рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ PHP рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдбрдкреНрд░реЗрд╕ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ PHP 5 рдФрд░ 7 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╣рдо рдПрдХ рдбрдмрд▓ рдЧрддрд┐ рд╡реГрджреНрдзрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрдбрдкреНрд░реЗрд╕ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ рдирд╡реАрдирддрдо PHP рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рдЙрдард╛рддреА рд╣реИрдВред

рдпрд╣ рдЧреНрд░рд╛рдлрд╝ PHP рдХрд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдЪреНрдЪрд╛рдИ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
40 рдорд┐рд▓реА рд╣реИрдВред рд▓рд╛рдЗрд╡ рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ? рдЕрднреА рдХрд┐рддрдиреЗ рд▓реЛрдЧ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, PHP 7.4 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЬреАрд╡рди рдЙрдиреНрдирдпрди рдХреА рдЕрдиреНрдп рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рд╛рде PHP 7.3 рд╕реЗ рдмреЗрд╣рддрд░ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд░рд╣рд╛ рд╣реИред
рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЧреНрд░рд╛рдлрд╝ PHP рдХреЗ рдирдП рдФрд░ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╕рдордЧреНрд░
рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдкрд░реАрдХреНрд╖рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХреБрдЫ рдорд╛рдкрджрдВрдб рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ рдЙрдкрдпреЛрдЧ, рдЧрддрд┐ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЖрд╕рд╛рдиреА рдереЗред

PHP 7.4 рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ?
2016 рдХреЗ рдмрд╛рдж рд╕реЗ, PHP7 рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрд╕рдлрд▓рддрд╛ рдХреЗ рд╡рд╛рд░реНрд╖рд┐рдХ рдЕрдкрдбреЗрдЯ рдЬрд╛рд░реА рдХрд░ рд░рд╣рд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрд╖ рд╡реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ, рдкрд░рд┐рд╡рд░реНрдзрди, рдФрд░ рдХреНрд▓реАрдирд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рднрд╛рд╖рд╛ рдХреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред
рдЖрдЗрдП PHP 7.4 рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЧрдП рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдЙрди рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдЙрдирдХреЗ рдЪреИрдВрдЬ рдХреЛ
рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ ред
рдкреНрд░реАрд▓реЛрдб
рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдврд╛рдВрдЪреЗ рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рд▓реЛрдб рдФрд░ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЬрдм рдЖрдк OPCache рдореЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЛ PHP рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдмрд╛рддреЗрдВ рдЬрд▓реНрджреА рд╣реЛ рд░рд╣реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЛ!
рдкреНрд░реАрд▓реЛрдбрд┐рдВрдЧ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ
php.ini рдирд┐рд░реНрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
opcache.preload ред рдпрд╣ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рдпрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдХрдорд╛рд▓ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдкреНрд░реАрд▓реЛрдбреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рдХрднреА рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░реАрд▓реЛрдбреЗрдб рдлрд╛рдЗрд▓реЗрдВ рднреА рд╣рдореЗрд╢рд╛ OPCache рдореЗрдореЛрд░реА рдореЗрдВ рдХреИрд╢реНрдб рд░рд╣рддреА рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рдкреНрд░реАрд▓реЛрдбреЗрдб рдлрд╛рдЗрд▓реНрд╕ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд┐рд╕реА рднреА рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдВрдЧреА, рдЕрдЧрд░ рдЖрдкрдХреЛ рдХрднреА рднреА рдЗрдиреНрд╣реЗрдВ рджреЛрдмрд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдкрдбрд╝реЗред
рдРрд░реЗ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕ рдореЗрдВ рдлреИрд▓рд╛ рдСрдкрд░реЗрдЯрд░
рдЬрдм PHP 5.6 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ PHP рдиреЗ рддрд░реНрдХ unpacking (рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм, 7.4 рдХреЗ рд╕рд╛рде, рд╣рдо рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рдгреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрд░реНрдХ рдЕрдирдкреИрдХрд┐рдВрдЧ рдПрд░реЗрдкрд┐рдВрдЧ рдФрд░ рдЯреНрд░реИрд╡рд░реНрд╕реЗрдмрд▓реНрд╕ рдХреЛ рддрд░реНрдХ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИред рдФрд░, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреЗрд╡рд▓ ... (3 рдбреЙрдЯреНрд╕) рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдЗрдП рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ:
$animals = ['dog', 'cat']; $animalkingdom = ['lion', 'elephant', ...$animals, 'giraffe'];
рдЕрдм рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░рдгреА рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдПрдХ рд╕рд░рдгреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рд╕реНрдкреНрд░реЗрдб рдСрдкрд░реЗрдЯрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдпрд╣рд╛рдБ рдПрдХ рд▓рдВрдмрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
$num1 = [1, 2, 3]; $num2 = [...$num1];
рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ:
function getNum() { return ['a', 'b']; } $num6 = [...getNum(), 'c'];
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдм рдЖрдк рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдЬреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рдПрдХ рдирдП рд╕рд░рдгреА рдореЗрдВ рд▓реМрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдПрдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
function getAnimals(){ return ['dog', 'cat', 'elephant']; } $num1 = [...getAnimals(), 'lion', 'tiger', 'giraffe'];
рдФрд░ PHP 7.4 рдХреЗ рд╕рд╛рде, рдпрд╣ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛:
array(6) { [0]=> string(3) "dog" [1]=> string(3) "cat" [2]=> string(8) "elephant" [3]=> string(4) "lion" [4]=> string(5) "tiger" [5]=> string(7) "giraffe" }
рдЗрд╕ рдирдИ рд╕рд░рдгреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде, рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдкрд╛рд╕ 7.3 array_merge рдкрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдПрдХ рднрд╛рд╖рд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬрдмрдХрд┐ array_merge рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╕рд╛рд░ рдСрдкрд░реЗрдЯрд░ рдЯреНрд░реИрд╡рд░реНрд╕реЗрдмрд▓ рдФрд░ array_merge рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рддреЗрдВ, рдЖрдк рдХреЗрд╡рд▓ рдЕрдиреБрдХреНрд░рдорд┐рдд рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдпреЛрдЧреНрдп рддреНрд░реБрдЯрд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рдбрд╛рд▓реА рдЬрд╛рдПрдЧреА, рдПрдХ рдмрд╛рд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреБрдВрдЬреА рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рджред
7.4 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╢рд╛рдирджрд╛рд░ рд▓рд╛рдн array_merge рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИред рдЦреВрдВрдЦрд╛рд░ рдЗрдВрдбреЗрдХреНрд╕ рд╢рд┐рдлреНрдЯ рдХреЛ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣реЛ!
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рдВрдмреЗ рдШреБрдорд╛рд╡рджрд╛рд░ рд╕рд░рдгреА рдХреЛ рджреЗрдЦреЗрдВ:
$array = ['banana, 'orange']; $array[2] = 'orange'; $array[1] = 'apple'; //shifting var_dump($array); // prints array(3) { [0]=> string(6) "banana" [1]=> string(5) "apple" [2]=> string(6) "orange"
7.4 рдХрд╛ рдПрдХ рдЕрдиреНрдп рд▓рд╛рдн рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдПрдХ рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдорд╛рди рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ
рдЬрдирд░реЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХрдИ рдорд╛рдиреЛрдВ рдХреА рдкреИрджрд╛рд╡рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
function generator() { for ($i = 3; $i <= 5; $i++) { yield $i; } } $num1 = [0, 1, 2, ...generator()];
рдХрдордЬреЛрд░ рд╕рдВрджрд░реНрдн
рдЕрдм PHP 7.4 рдореЗрдВ WeakReference рд╡рд░реНрдЧ рд╣реИ, рдЬрд┐рд╕реЗ
WeakRed рдпрд╛
Weakref рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рд╣реИред
рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рджрд┐рдпрд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рд╣реЛрдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред рд╡реЗ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рддрд░рд╣ рдХреИрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реИрдВред
WeakReference { public __construct ( void ) public static create ( object $referent ) : WeakReference public get ( void ) : ?object }
рдХрдВрдЯреНрд░рд╛рд╡реЗрд░рд┐рдПрдиреНрдЯ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдФрд░ рдХреЛрд╡рд░рд┐рдПрдиреНрдЯ рд░рд┐рдЯрд░реНрдиреНрд╕
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, PHP рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдорддрд▓рдм, рдЕрдЧрд░ рдХрд┐рд╕реА рдореЗрдердб рдореЗрдВ X рдХрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рд░рд┐рдЯрд░реНрди рдЯрд╛рдЗрдк рд╣реИ рддреЛ рд╕рдмрдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рд░рд┐рдЯрд░реНрди рдЯрд╛рдЗрдк рднреА
X рдЯрд╛рдЗрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм, PHP 7.4 рдХреЗ рд╕рд╛рде рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░
рд╕рд╣рд╕рдВрдпреЛрдЬрдХ (рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдХреНрд░рдордмрджреНрдз) рдФрд░
рдХрдВрдЯреНрд░рд╛рд╡реЗрд░реЗрдВрдЯ (рдЖрджреЗрд╢ рдХреЛ рдЙрд▓рдЯ) рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рд╡рд╛рдкрд╕реА рдкреНрд░рдХрд╛рд░ рдЙрджрд╛рд╣рд░рдг:
interface Factory { function make(): object; } class UserFactory implements Factory { function make(): User; }
Contravariant рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░ рдЙрджрд╛рд╣рд░рдг:
interface Concatable { function concat(Iterator $input); } class Collection implements Concatable {
рдЯрд╛рдЗрдк рдХрд┐рдП рд╣реБрдП рдЧреБрдг 2.0
PHP 5 рдХреЗ рдмрд╛рдж рд╕реЗ, рдЯрд╛рдЗрдк рд╕рдВрдХреЗрдд рдПрдХ рдЙрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЙрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рд╡рд░реНрдЧ рдХреЛ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред PHP 7.2 рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЬреЛрдбрд╝ рдиреЗ рдЖрд╢рд╛ рджреА рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред рднрд╡рд┐рд╖реНрдп рдЕрдм рд╣реИред
рдирдП 7.4 рдореЗрдВ, PHP рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ:
bool, int, float, string, array, object, iterable, self, parent any class or interface name ?type // where "type" may be any of the above
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
рдореВрд▓ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд░рд┐рдЯрд░реНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
рд╢реВрдиреНрдп рдФрд░
рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рд╢реВрдиреНрдп рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рдерд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯ рд╢рдмреНрджрд╛рд░реНрде рдирд╣реАрдВ рдереЗ;
рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп , рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдВрджрд░реНрдн-рдирд┐рд░реНрднрд░ рдерд╛ред
рдЖрдЗрдП рдХреБрдЫ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
рдпрд╣рд╛рдБ рдПрдХ рд╡рд░реНрдЧ рд╣реИ, рдЬрд┐рд╕реЗ PHP 7.3 рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
class User { private $id; private $name; public function __construct(int $id, string $name) { $this->id = $id; $this->name = $name; } public function getId(): int { return $this->id; } public function setId(int $id): void { $this->id = $id; } public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = $name; } }
PHP 7.4 рдореЗрдВ, рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХ рд╡рд░реНрдЧ рдХреЛ рдЕрдм рд╕рд░рд▓ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
class User { public int $id; public string $name; public function __construct(int $id, string $name) { $this->id = $id; $this->name = $name; } }
рдпрд╣рд╛рдБ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬреЛ рдЕрдм 7.4 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ:
class Example { public int $scalarType; protected ClassName $classType; private ?ClassName $nullableClassType;
рдПрд░реЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ 2.0
PHP рдореЗрдВ рдмреЗрдирд╛рдореА рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЪрд┐рдВрддрд╛рдЬрдирдХ рдФрд░ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВ, рддрдм рднреА рдЬрдм рд╡реЗ рдХреЗрд╡рд▓ рд╕рд░рд▓ рдСрдкрд░реЗрд╢рди рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рд┐рдВрдереИрдЯрд┐рдХ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИред
рдпрд╣ рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХреНрд▓реЛрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрдард┐рди рд╣реИред
рдЖрдЗрдП рдХреБрдЫ рдХреЛрдб рджреЗрдЦреЗрдВ рдЬреЛ рдЖрдк PHP 7.3 рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
function array_values_from_keys($arr, $keys) { return array_map(function ($x) use ($arr) { return $arr[$x]; }, $keys); }
рдЕрдм, рдпрд╣рд╛рдБ PHP 7.4 рдХрд╛ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ:
function array_values_from_keys($arr, $keys) { return array_map(fn($x) => $arr[$x], $keys); }
рдЗрд╕рд▓рд┐рдП, рддреАрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдЕрдм рдпрд╣ рд╕рд░рд▓ рд░реВрдк рд╣реИ:
fn(parameter_list) => expr
рдиреАрдЪреЗ рдЖрдк рджреЛ рдХрд╛рд░реНрдп $ fn1 (7.3) рдФрд░ $ fn2 (7.4) рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕рдорд╛рди рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрд▓рдЧ рджрд┐рдЦрддреЗ рд╣реИрдВ:
$y = 1; $fn1 = fn($x) => $x + $y; $fn2 = function ($x) use ($y) { return $x + $y; };
рдпрд╣ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрджрд┐ рддреАрд░ рдлрд╝рдВрдХреНрд╢рди рдиреЗрд╕реНрдЯреЗрдб рд╣реИрдВ:
$z = 1; $fn = fn($x) => fn($y) => $x * $y + $z;
рдпрд╣рд╛рдВ рдмрд╛рд╣рд░реА рдлрд╝рдВрдХреНрд╢рди
$ z рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░, рдЖрдВрддрд░рд┐рдХ рдлрд╝рдВрдХреНрд╢рди рдмрд╛рд╣рд░реА рдлрд╝рдВрдХреНрд╢рди рд╕реЗ $ z рднреА рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИред 7.4 рдХреЗ рд╕рд╛рде, рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬреЛ 7.3 рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред
рдПрд░реЛ рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐, рдЪрд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди, рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рд╡рд╛рдкрд╕реА рдкреНрд░рдХрд╛рд░, рд╕рд╛рде рд╣реА рд╕рд╛рде-рд╕рд╛рде рдкрд╛рд╕рд┐рдВрдЧ рдФрд░ рд░рд┐рдЯрд░реНрдиред рд╕рд╛рдл-рд╕реБрдерд░рд╛, рдкрдардиреАрдп рдирдЬрд░ рд░рдЦрддреЗ рд╣реБрдП рд╕рднреАред рдиреАрдЪреЗ рдЕрдм рдЙрдкрд▓рдмреНрдз рд╕рднреА рдорд╛рдиреНрдп рддреАрд░ рдХрд╛рд░реНрдп рд╣реИрдВ:
fn(array $x) => $x; fn(): int => $x; fn($x = 42) => $x; fn(&$x) => $x; fn&($x) => $x; fn($x, ...$rest) => $rest;
рдПрдХ рдмрд╛рдд рдзреНрдпрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реА рд╣реИ рдХрд┐ рдПрд░реЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рдХрдо рдкреВрд░реНрд╡рддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
fn($x) => $x + $y
Deprecations
рдорд░реНрдЬ рдХреЗ 7.4 рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдХрдИ рдЕрд╡рдХреНрд╖реЗрдк рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдирд┐рдореНрди рд╕реВрдЪреА рдкрджрд╛рд╡рдирддрд┐ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рд╣реИред рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░
- рдореИрдЬрд┐рдХ рдиреЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдХреЛрдЯ рдХрд┐рдпрд╛
- array_key_exists () рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде
- FILTER_SANITIZE_MAGIC_QUOTES рдлрд╝рд┐рд▓реНрдЯрд░
- рдкрд░рд╛рд╡рд░реНрддрди рдирд┐рд░реНрдпрд╛рдд () рд╡рд┐рдзрд┐рдпрд╛рдБ
- 3 рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде mb_strrpos ()
- implode () рдкреИрд░рд╛рдореАрдЯрд░ рдСрд░реНрдбрд░ рдорд┐рдХреНрд╕
- рдЧреИрд░-рд╕реНрдереИрддрд┐рдХ рдмрдВрдж рд╣реЛрдиреЗ рд╕реЗ $ рдЗрд╕реЗ рдЦреЛрд▓рдирд╛
- рд╣реЗрдмреНрд░реАрдХ () рдлрд╝рдВрдХреНрд╢рди
- Convert_cyr_string () рдлрд╝рдВрдХреНрд╢рди
- money_format () рдлрд╝рдВрдХреНрд╢рди
- ezmlm_hash () рдлрд╝рдВрдХреНрд╢рди
- r estore_include_path () рдлрд╝рдВрдХреНрд╢рди
- allow_url_include ini directiv
рдиреЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ-рдЪрд░рдг рдХреЗ рдкрджрд╛рд╡рдирддрд┐рдпрд╛рдВ рд╣реИрдВред
рдПрдХ рдХреЙрдиреНрдЯреИрдХреНрд╢рдВрд╕ рдСрдкрд░реЗрдЯрд░ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдмрджрд▓рдирд╛
рд╡рд░реНрддрдорд╛рди рдореЗрдВ 'ред', '+' рдФрд░ '-' рдХреЗ рдСрдкрд░реЗрдЯрд░ рд╕рднреА рд╕рдорд╛рди рд╣реИрдВред рдЗрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрдпреЛрдЬрди рдХреЛ рдмрд╕ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдЗрдП PHP 7.3 рдореЗрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ:
echo "sum: " . $a + $b;
PHP +. + рдХреЗ рд╕рд╛рде, '+' рдФрд░ '-' рдкреВрд░реНрд╡рддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред ' рдЗрд╕рд▓рд┐рдП рдЬреЛрдбрд╝ рдФрд░ рдШрдЯрд╛рд╡ рд╣рдореЗрд╢рд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
echo "sum: " . $a + $b;
рдпрд╣ рджреЛ-рдЪрд░рдгреАрдп рдкреНрд░рд╕реНрддрд╛рд╡ рдХрдо рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рд╣реЛрдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддрд╛ рд╣реИред PHP 7.4 рд╡рд░реНрддрдорд╛рди рдореЗрдВ '+', '' рдФрд░ '' 'рдХреЗ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рднрд╛рд╡реЛрдВ рдХреЗ рдЕрдкрдЪрдпрди рдиреЛрдЯрд┐рд╕ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рд╣реИред рдЬрдмрдХрд┐ PHP 8 рдореЗрдВ рд╣реЛ рд░рд╣реЗ рдЕрдВрддрд┐рдо рд╡реЛрдЯ / рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред
рд╡рд╛рдо-рд╕рд╣рдпреЛрдЧреА рдЯрд░реНрдирд░рд░реА рд╕рдВрдЪрд╛рд▓рдХ
рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, PHP рдореЗрдВ рдЯрд░реНрдирд░реА рдСрдкрд░реЗрдЯрд░ рджрд╛рдПрдВ-рд╕рд╣рдпреЛрдЧреА рдХреЗ рдмрдЬрд╛рдп рдмрд╛рдПрдВ-рд╕рд╣рдпреЛрдЧреА рд╣реИред рди рдХреЗрд╡рд▓ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдпрд╣ рдЙрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рднреА рднреНрд░рдорд┐рдд рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВред PHP 7.4 рдореЗрдВ рдмрд╛рдПрдВ-рд╕рдорд░реВрдкрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреЛрд╖реНрдардХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдЗрдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
return $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'four' : 'other';
рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рдПрдЧреА:
return $a == 1 ? 'one' : ($a == 2 ? 'two' : ($a == 3 ? 'three' : ($a == 4 ? 'four' : 'other')))
PHP рдореЗрдВ рд░рд╣рддреЗ рд╣реБрдП, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИ:
return ((($a == 1 ? 'one' : $a == 2) ? 'two' : $a == 3) ? 'three' : $a == 4) ? 'four' : 'other';
рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд░рд╛рджрд╛ рдерд╛ред
рдПрдХ рдЕрд▓рдЧ рдЯреВ-рд╕реНрдЯреЗрдк рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, PHP 7.4 рдиреЗ рдЕрд╡рдореВрд▓реНрдпрди рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрд╖реНрдардХреЛрдВ рдХреЗ рд╕реНрдкрд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдПрдХ рд╕рдВрдХрд▓рд┐рдд рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдХреЛ рдЙрдореНрдореАрдж рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рдордп рдореЗрдВ, PHP 7.4 рд╕рднреА PHP рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдЬреАрд╡рди рд╕реБрдзрд╛рд░ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рд▓рд╛рддрд╛ рд╣реИред
рд╡рд░реНрдбрдкреНрд░реЗрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдВрдЧреА рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ PHP 7.4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рддреЗрдЬ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдФрд░ рдХрдо рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдФрд░ рдЯрд╛рдЗрдк рд╣рд┐рдВрдЯрд┐рдВрдЧ, рддреАрд░ рд╡рд┐рд▓рдп рдХрд╛рд░реНрдпреЛрдВ, рдФрд░ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рдмреЗрд╣рддрд░ рдЧрддрд┐ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЗ рд╕рд╛рде, 7.4 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреА рдЧрддрд┐ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧрд╛ред