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