Вступ

КоТСн Π²ΠΈΡ€Π°Π· Π² 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() Π½Π°Ρ‚ΠΎΠΌΡ–ΡΡ‚ΡŒ. Однак Ρ—Ρ— Π½Π°Π·Π²Π° Π½Π΅ ΠΊΠ°Π½ΠΎΠ½Ρ–Ρ‡Π½Π°.

οΌ‹add a note

User Contributed Notes

There are no user contributed notes for this page.