ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² PHP Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ°:
PHP β Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ; PHP ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ PHP ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ·ΡΠΊΠ° ΠΏΡΡΡΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ². Π’ΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ PHP, ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°Π·Π΄Π΅Π» Β«Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ²Β».
Π’ΠΈΠΏΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π²ΠΈΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. PHP ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΏ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠΏΠΎΠ² Π΄Π°ΡΡ ΡΠ°Π·Π΄Π΅Π» Β«ΠΠΎΠ½Π³Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ°ΠΌΠΈΒ».
Π’Π°Π±Π»ΠΈΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ².
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ². ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ settype().
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ var_dump().
Π’ΠΈΠΏ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ get_debug_type().
ΠΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠΈΠΏΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π°
is_type.
ΠΡΠΈΠΌΠ΅Ρ #1 Π’ΠΈΠΏΡ
<?php
$a_bool = true; // Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
$a_str = "foo"; // ΡΡΡΠΎΠΊΠ°
$a_str2 = 'foo'; // ΡΡΡΠΎΠΊΠ°
$an_int = 12; // ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
echo get_debug_type($a_bool), "\n";
echo get_debug_type($a_str), "\n";
// ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΠ΅
if (is_int($an_int)) {
$an_int += 4;
}
var_dump($an_int);
// ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $a_bool ΡΡΡΠΎΠΊΡ, ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
if (is_string($a_bool)) {
echo "Π‘ΡΡΠΎΠΊΠ°: $a_bool";
}
?>Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π² PHP 8:
bool string int(16)
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎ Π²Π΅ΡΡΠΈΠΈ PHP 8.0.0, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ get_debug_type() Π±ΡΠ»Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°, Π²ΡΠ·ΡΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ gettype(), Π½ΠΎ ΠΎΠ½Π° Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ².