ტიპების ავტომატური გარდაქმნა PHP-ში
როგორც უკვე იცით, სტრიქონები PHP-ში უნდა იყოს ჩასმული ბრჭყალებში. შეიძლება ისეთი სიტუაცია წარმოიშვას, როდესაც სტრიქონის ყველა სიმბოლო იქნება ციფრი. ამ შემთხვევაში, თუ ციფრების მქონე სტრიქონზე შესრულდება რაიმე მათემატიკური ოპერაცია - ეს ოპერაცია შესრულდება ისე, თითქოს ჩვენ ნამდვილად გვაქვს რიცხვები და არა სტრიქონები:
<?php
echo '1' + '2'; // გამოიტანს 3-ს
?>
ამ შემთხვევაში PHP ხედავს, რომ ჩვენ ვცდილობთ შევასრულოთ დაუშვებელი ოპერაცია სტრიქონებისთვის, მაგრამ დაშვებული რიცხვებისთვის. ის ასევე ხედავს, რომ პრაქტიკულად ჩვენი სტრიქონები - ეს არის რიცხვები ბრჭყალებში. ამიტომ PHP ავტომატურად ასრულებს ამ სტრიქონების გარდაქმნას რიცხვებად და შესრულებს შესაბამის მათემატიკურ ოპერაციას მათზე.
ანალოგიურად მოხდება ციფრების მქონე სტრიქონის და ჩვეულებრივი რიცხვის მიმატება:
<?php
echo '1' + 2; // გამოიტანს 3-ს
?>
ამას არ ექნება მნიშვნელობა, რა რიგით შესრულდება მიმატება:
<?php
echo 1 + '2'; // გამოიტანს 3-ს
?>
ყველაფერი ნათქვამი ანალოგიურად იმუშავებს ცვლადებისთვისაც:
<?php
$a = '1';
$b = '2';
echo $a + $b; // გამოიტანს 3-ს
?>
კოდის გაშვების გარეშე, დაადგინეთ, რა გამოიტანს ეკრანზე:
<?php
$a = '1';
$b = '2';
echo $a + $b + '3';
?>