PHP變數型別因需求自動轉換

PHP(寬鬆型別語言)的變數在使用前不用特別宣告類型,在使用該變數時PHP會自動轉換存取時所需的型別。
例如:
<?php
$integer=126*186;
echo "$integer<br/>\n";
echo substr($integer,1,5);
?>

變數$integer=23436,此時是數字型別,當使用函式substr時,要求傳遞從第1個位置開始回傳連續5個數值,此時變數$integer即會自動轉型為字串,並且依照substr回傳3436,但是我們是請求5個數值,從3開始到最後也只有4個數字,沒有第5個,所以只會回傳3436。

字串 2 3 4 3 6
位置 0 1 2 3 4

若撰寫echo substr($integer,2,2);
則會回傳43。

在這裡substr函式用法是substr(變數名稱 , 取值起始位置 , 連續取多少數量)
因函式substr請求,PHP編譯時會自動將變數轉為字串

字串也可能因為需求而轉為數字
求直角三角面積(ans=75)
$a= "10";
$b= "15";
echo ($a*$b)/2;

提醒:
變數賦值
$a=10;//////數字
$a="10"////字元字串

留言