首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 核心基礎(二):資料類型、字串引號差異、類型轉換與判斷函數

     編輯:PHP 綜合知識

本文為系列第二篇,聚焦 PHP 八大資料類型、單雙引號字串行為差異、陣列與物件基礎、資源類型、弱類型特性與強制轉換、以及類型判斷內建函數。

一、PHP 八大資料類型

類型分類說明與範例
Boolean純量true/false,如 $flag = true;
Integer純量十進制、八進制(0123)、十六進制(0x1A),平台相關範圍
Float/Double純量浮點數,如 $price = 19.99;
String純量單引號、雙引號、Heredoc、Nowdoc 多種定義方式
Array混合鍵值對集合,支援多維,鍵可為整數或字串
Object混合類實例,屬性+方法封裝
Resource特殊外部資源標識,如 fopen() 返回的檔案句柄
NULL特殊無值狀態,變量未賦值或被 unset()

二、單引號 vs 雙引號字串核心差異

特性單引號 '...'雙引號 "..."
變量解析不解析,原樣輸出 $var解析變量,輸出變量值
轉義字符僅支援 \\ 和 \'支援完整轉義:\n, \t, \$, \" 等
效能略快(無解析開銷)略慢(需解析)
適用場景純靜態字串、包含變量名稱字面量需插入變量值、使用轉義字符

混合使用技巧

<?php
$book = 'PHP指南';
echo "書名:$book";          // 雙引號解析變量
echo '書名:$book';          // 單引號輸出字面量
echo "我的書:'$book'";      // 雙引號外層,單引號內層
echo '書名:"'.$book.'"';    // 單引號外層,雙引號內層
echo "書名:\\$book";        // 轉義 $ 輸出字面量 $book
?>

三、陣列基礎定義

<?php
// 索引陣列
$books = array('C#指南', '圍城', '朝花夕拾');
// 或
$books[] = 'C#指南';
$books[] = '圍城';

// 關聯陣列
$user = array('name' => '張三', 'age' => 25, 'city' => '台北');

// 多維陣列
$students = array(
    array('name' => '李四', 'score' => 90),
    array('name' => '王五', 'score' => 85)
);
?>

四、資源類型

資源是特殊類型,保存對外部資源的引用(檔案、資料庫連線、圖片句柄等)。

<?php
$fp = fopen('data.txt', 'r'); // $fp 是 resource 類型
var_dump($fp); // resource(1) of type (stream)
?>

五、弱類型與強制轉換

PHP 根據上下文自動轉換類型:

<?php
$total = 5;       // integer
$count = '25';    // string
$total += $count; // 自動將 $count 轉為 integer,結果 30
?>

強制類型轉換語法

在變量前加上目標類型括號:(int), (bool), (array), (object), (string), (float) / (double) / (real)。

<?php
$val = '123abc';
$intVal = (int)$val;    // 123
$boolVal = (bool)$val;  // true (非空字串)
$arrVal = (array)$val;  // array(0 => '123abc')
?>

注意:高精度浮點數轉整數會丟失精度,物件轉整數會產生 Notice 並得 1。

六、類型判斷內建函數

函數用途返回值範例
gettype($var)獲取變量類型字串'integer', 'double', 'string', 'array', 'object', 'NULL', 'resource', 'unknown type'
settype($var, $type)將變量就地轉換類型成功返回 true,失敗 false;$type 可為 'integer', 'double', 'string', 'array', 'object'
is_int(), is_string(), is_array() 等特定類型檢查布林值

掌握類型系統是寫出穩健 PHP 代碼的基石,建議養成關鍵位置顯式檢查/轉換類型的習慣。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved