การแปลงประเภทข้อมูลอัตโนมัติใน 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';
?>