php-3(進階)
1.多維資料迴圈和遍歷
<?php // 二維陣列: $cars = array ( array("Volvo",100,96), array("BMW",60,59), array("Toyota",110,100) ); for ($i=0;$i<sizeof($cars);$i++){ $a=$cars[$i]; for ($x=0;$x<sizeof($a);$x++){ echo($a[$x].PHP_EOL); } echo("<br>"); date_default_timezone_set("Etc/GMT-8");//php預設時間少8小時,設定北京時間 echo(date("Y-m-d H:i:s")); } ?>
2.php時間函式date()
<?php //Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為重慶,上海,烏魯木齊) //港臺地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次為澳門,香港,臺北) //臺灣地區可設為:date.timezone = "Asia//Taipei" //還有新加坡:Asia/Singapore date_default_timezone_set("Etc/GMT-8");//php預設時間少8小時,設定北京時間 echo(date("Y-m-d H:i:s")); ?>
format 字元 |
說明 | 返回值例子 |
---|---|---|
日 | --- | --- |
d | 月份中的第幾天,有前導零的 2 位數字 | 01 到 31 |
D | 星期中的第幾天,文字表示,3 個字母 | Mon 到 Sun |
j | 月份中的第幾天,沒有前導零 | 1 到 31 |
l("L"的小寫字母) | 星期幾,完整的文字格式 | Sunday 到 Saturday |
N | ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) | 1(表示星期一)到 7(表示星期天) |
S | 每月天數後面的英文字尾,2 個字元 | st,nd,rd 或者 th。可以和 j 一起用 |
w | 星期中的第幾天,數字表示 | 0(表示星期天)到 6(表示星期六) |
z | 年份中的第幾天 | 0 到 365 |
星期 | --- | --- |
W | ISO-8601 格式年份中的第幾周,每週從星期一開始(PHP 4.1.0 新加的) | 例如:42(當年的第 42 周) |
月 | --- | --- |
F | 月份,完整的文字格式,例如 January 或者 March | January 到 December |
m | 數字表示的月份,有前導零 | 01 到 12 |
M | 三個字母縮寫表示的月份 | Jan 到 Dec |
n | 數字表示的月份,沒有前導零 | 1 到 12 |
t | 給定月份所應有的天數 | 28 到 31 |
年 | --- | --- |
L | 是否為閏年 | 如果是閏年為 1,否則為 0 |
o | ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) | Examples: 1999 or 2003 |
Y | 4 位數字完整表示的年份 | 例如:1999 或 2003 |
y | 2 位數字表示的年份 | 例如:99 或 03 |
時間 | --- | --- |
a | 小寫的上午和下午值 | am 或 pm |
A | 大寫的上午和下午值 | AM 或 PM |
B | Swatch Internet 標準時 | 000 到 999 |
g | 小時,12 小時格式,沒有前導零 | 1 到 12 |
G | 小時,24 小時格式,沒有前導零 | 0 到 23 |
h | 小時,12 小時格式,有前導零 | 01 到 12 |
H | 小時,24 小時格式,有前導零 | 00 到 23 |
i | 有前導零的分鐘數 | 00 到 59> |
s | 秒數,有前導零 | 00 到 59> |
u | 毫秒 (PHP 5.2.2 新加)。需要注意的是 date() 函式總是返回 000000 因為它只接受 integer 引數, 而 DateTime::format() 才支援毫秒。 | 示例: 654321 |
時區 | --- | --- |
e | 時區標識(PHP 5.1.0 新加) | 例如:UTC,GMT,Atlantic/Azores |
I | 是否為夏令時 | 如果是夏令時為 1,否則為 0 |
O | 與格林威治時間相差的小時數 | 例如:+0200 |
P | 與格林威治時間(GMT)的差別,小時和分鐘之間有冒號分隔(PHP 5.1.3 新加) | 例如:+02:00 |
T | 本機所在的時區 | 例如:EST,MDT(【譯者注】在 Windows 下為完整文字格式,例如"Eastern Standard Time",中文版會顯示"中國標準時間")。 |
Z | 時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。 | -43200 到 43200 |
完整的日期/時間 | --- | --- |
c | ISO 8601 格式的日期(PHP 5 新加) | 2004-02-12T15:19:21+00:00 |
r | RFC 822 格式的日期 | 例如:Thu, 21 Dec 2000 16:01:07 +0200 |
U | 從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數 | 參見 time() |
3.php包含檔案includ和require
nclude 和 require 語句用於在執行流中插入寫在其他檔案中的有用的程式碼。
include 和 require 除了處理錯誤的方式不同之外,在其他方面都是相同的:
- require 生成一個致命錯誤(E_COMPILE_ERROR),在錯誤發生後腳本會停止執行。
- include 生成一個警告(E_WARNING),在錯誤發生後腳本會繼續執行。
include 和 require 的區別
- require 一般放在 PHP 檔案的最前面,程式在執行前就會先匯入要引用的檔案;
- include 一般放在程式的流程控制中,當程式執行時碰到才會引用,簡化程式的執行流程。
- require 引入的檔案有錯誤時,執行會中斷,並返回一個致命錯誤;
- include 引入的檔案有錯誤時,會繼續執行,並返回一個警告。
語法:
include 'filename';
require 'filename';
4.檔案處理
fopen() 函式用於在 PHP 中開啟檔案。
fgets()函式,獲取檔案內容。第一個引數為檔案流,第二個為長度
fclose()關閉操作的檔案
<?php
//fopen操作的檔案路徑,第一個引數 為檔案路徑和名稱,第二個為操作型別
//or exit當檔案無效時列印提示
$f=fopen("C:/Users/Administrator/Desktop/test.txt", "r") or exit("Unable to open file!");
//fgets()函式,逐行讀取檔案。第一個引數為檔案流,第二個為長度。在呼叫該函式之後,檔案指標會移動到下一行。
//fgetc() 函式用於從檔案中逐字元地讀取檔案。在呼叫該函式之後,檔案指標會移動到下一個字元
while(!feof($f))
{
echo fgets($f). "<br>";
echo fgetc($f). "<br>";
}
fclose($f)
?>
檔案操作型別:
模式 | 描述 |
---|---|
r | 只讀。在檔案的開頭開始。 |
r+ | 讀/寫。在檔案的開頭開始。 |
w | 只寫。開啟並清空檔案的內容;如果檔案不存在,則建立新檔案。 |
w+ | 讀/寫。開啟並清空檔案的內容;如果檔案不存在,則建立新檔案。 |
a | 追加。開啟並向檔案末尾進行寫操作,如果檔案不存在,則建立新檔案。 |
a+ | 讀/追加。通過向檔案末尾寫內容,來保持檔案內容。 |
x | 只寫。建立新檔案。如果檔案已存在,則返回 FALSE 和一個錯誤。 |
x+ | 讀/寫。建立新檔案。如果檔案已存在,則返回 FALSE 和一個錯誤。 |
5.檔案上傳
- <form> 標籤的 enctype 屬性規定了在提交表單時要使用哪種內容型別。在表單需要二進位制資料時,比如檔案內容,請使用 "multipart/form-data"。
- <input> 標籤的 type="file" 屬性規定了應該把輸入作為檔案來處理。舉例來說,當在瀏覽器中預覽時,會看到輸入框旁邊有一個瀏覽按鈕。
upload.php
<?php
header("content-type:text/html;charset=GBK");
?>
<html>
<head>
<meta charset="GBK">
<title>upload</title>
</head>
<body>
<form action="upload1.php" method="post" enctype="multipart/form-data">
<label for="file">檔名:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
upload1.php
<?php
header("content-type:text/html;charset=GBK");
// 允許上傳的圖片字尾
$allowedExts = array("gif", "jpeg", "jpg", "png");
//explode把字串打散維陣列
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp); // 獲取檔案字尾名
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800) // 小於 200 kb
//in_array檢查陣列中是否包含某個值
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "錯誤:: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "上傳檔名: " . $_FILES["file"]["name"] . "<br>";
echo "檔案型別: " . $_FILES["file"]["type"] . "<br>";
echo "檔案大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "檔案臨時儲存的位置: " . $_FILES["file"]["tmp_name"] . "<br>";
// 判斷當期目錄下的 upload 目錄是否存在該檔案,若沒有則建立
if(!(file_exists("upload"))){
mkdir(__DIR__."/upload");
}
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 檔案已經存在。 ";
}
else
{
// 如果 upload 目錄不存在該檔案則將檔案上傳到 upload 目錄下
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "檔案儲存在: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "非法的檔案格式";
}
?>
6.cookie
cookie 常用於識別使用者。cookie 是一種伺服器留在使用者計算機上的小檔案。每當同一臺計算機通過瀏覽器請求頁面時,這臺計算機將會發送 cookie。通過 PHP,您能夠建立並取回 cookie 的值。
setcookie() 函式用於設定 cookie。
setcookie() 函式必須位於 <html> 標籤之前。
語法:setcookie(name, value, expire, path, domain);
設定、取出及刪除cookie
<?php
header("content-type:text/html;charset=GBK");
//設定cookie
setcookie("user", "runoob", time()+3600);
?>
<html>
<head>
<meta charset="GBK">
<title>cookie</title>
</head>
<body>
<?php
//根據名稱取出cookie
echo $_COOKIE["user"];
echo("<br>");
//取出所有cookie
print_r($_COOKIE);
// 設定 cookie 過期時間為過去 1 小時
setcookie("user", "", time()-3600);
echo $_COOKIE["user"]."------";
?>
</body>
</html>
7.session
session 變數用於儲存關於使用者會話(session)的資訊,或者更改使用者會話(session)的設定。Session 變數儲存單一使用者的資訊,並且對於應用程式中的所有頁面都是可用的。
在使用 session 之前,首先必須啟動會話。
session_start() 函式必須位於 <html> 標籤之前
例:session的建立及銷燬
<?php
header("content-type:text/html;charset=GBK");
//啟動session
session_start();
//儲存和取回 session 變數的正確方法是使用 PHP $_SESSION 變數
if(isset($_SESSION['num'])){
$_SESSION['num']=$_SESSION['num']+1;
}else{
$_SESSION['num']=1;
}
?>
<html>
<head>
<meta charset="GBK">
<title>cookie</title>
</head>
<body>
<?php
//取出session
echo $_SESSION["num"];
echo("<br>");
//釋放指定session
unset($_SESSION['num']);
//釋放所有session
session_destroy();
?>
</body>
</html>
8.php傳送email
配置方式有多種,以xampp環境傳送qq郵箱為例,利用stmp mail()函式傳送郵件
1.配置php.ini
sendmail_path =D:\xampp\sendmail\sendmail.exe -t(只需要配置這一個)
2.配置sendemail.ini
smtp_server=smtp.qq.com
smtp_port=25
smtp_ssl=auto
error_logfile=error.log
auth_username=傳送者QQ郵箱@qq.com
auth_password=你的授權碼(設定第三步時,會返給你授權碼)
force_sender=傳送者QQ郵箱@qq.com
3.去郵箱設定允許stmp郵件收發
4.編寫測試php程式碼
<?php
header("content-type:text/html;charset=GBK");
$to = "接收者@qq.com"; // 郵件接收者
$subject = "php郵件"; // 郵件標題
$message = "Hello word!。"; // 郵件正文
$from = "傳送者@qq.com"; // 郵件傳送者
$headers = "From:" . $from; // 頭部資訊設定
mail($to,$subject,$message,$headers);
echo "郵件已傳送";
?>
9.錯誤處理
自定義錯誤處理器
該函式必須有能力處理至少兩個引數 (error level 和 error message),但是可以接受最多五個引數(可選的:file, line-number 和 error context);
語法:error_function(error_level,error_message, error_file,error_line,error_context)
引數含義:
引數 | 描述 |
---|---|
error_level | 必需。為使用者定義的錯誤規定錯誤報告級別。必須是一個數字。參見下面的表格:錯誤報告級別。 |
error_message | 必需。為使用者定義的錯誤規定錯誤訊息。 |
error_file | 可選。規定錯誤發生的檔名。 |
error_line | 可選。規定錯誤發生的行號。 |
error_context | 可選。規定一個數組,包含了當錯誤發生時在用的每個變數以及它們的值。 |
error_level級別:
值 | 常量 | 描述 |
---|---|---|
2 | E_WARNING | 非致命的 run-time 錯誤。不暫停指令碼執行。 |
8 | E_NOTICE | run-time 通知。在指令碼發現可能有錯誤時發生,但也可能在指令碼正常執行時發生。 |
256 | E_USER_ERROR | 致命的使用者生成的錯誤。這類似於程式設計師使用 PHP 函式 trigger_error() 設定的 E_ERROR。 |
512 | E_USER_WARNING | 非致命的使用者生成的警告。這類似於程式設計師使用 PHP 函式 trigger_error() 設定的 E_WARNING。 |
1024 | E_USER_NOTICE | 使用者生成的通知。這類似於程式設計師使用 PHP 函式 trigger_error() 設定的 E_NOTICE。 |
4096 | E_RECOVERABLE_ERROR | 可捕獲的致命錯誤。類似 E_ERROR,但可被使用者定義的處理程式捕獲。(參見 set_error_handler()) |
8191 | E_ALL | 所有錯誤和警告。(在 PHP 5.4 中,E_STRICT 成為 E_ALL 的一部分) |
<?php
header("content-type:text/html;charset=GBK");
function customError($errno, $errstr,$error_file,$error_line,$error_context)
{
echo("錯誤級別:".$errno."<br>");
echo("錯誤資訊:".$errstr."<br>");
echo("檔名稱:".$error_file."<br>");
echo("行數:".$error_line."<br>");
echo(sizeof($error_context));
for ($i=1;$i<=sizeof($error_context);$i++){
echo($error_context[$i]."<br>");
}
}
// 設定錯誤處理函式
set_error_handler("customError" );
//trigger_error("變數值必須小於等於 1");
// 觸發錯誤
echo($test);
?>
10.exception異常
當異常被丟擲時,其後的程式碼不會繼續執行,PHP 會嘗試查詢匹配的 "catch" 程式碼塊。
如果異常沒有被捕獲,而且又沒用使用 set_exception_handler() 作相應的處理的話,那麼將發生一個嚴重的錯誤(致命錯誤),並且輸出 "Uncaught Exception" (未捕獲異常)的錯誤訊息。
Try、throw 和 catch:
- Try - 使用異常的函式應該位於 "try" 程式碼塊內。如果沒有觸發異常,則程式碼將照常繼續執行。但是如果異常被觸發,會丟擲一個異常。
- Throw - 裡規定如何觸發異常。每一個 "throw" 必須對應至少一個 "catch"。
- Catch - "catch" 程式碼塊會捕獲異常,並建立一個包含異常資訊的物件。
<?php
header("content-type:text/html;charset=GBK");
// 建立一個有異常處理的函式
function checkNum($number)
{
if($number!=1)
{
throw new Exception("數值不等於1");
}
return true;
}
// 在 try 塊 觸發異常
try
{
checkNum(3);
// 如果丟擲異常,以下文字不會輸出
echo '如果輸出該內容,說明 $number 變數';
}
// 捕獲異常
catch(Exception $e)
{
echo 'Message: ' .$e->getMessage();
}
?>
- 建立 checkNum() 函式。它檢測數字是否大於 1。如果是,則丟擲一個異常。
- 在 "try" 程式碼塊中呼叫 checkNum() 函式。
- checkNum() 函式中的異常被丟擲。
- "catch" 程式碼塊接收到該異常,並建立一個包含異常資訊的物件 ($e)。
- 通過從這個 exception 物件呼叫 $e->getMessage(),輸出來自該異常的錯誤訊息。
11.過濾器
PHP 過濾器用於驗證和過濾來自非安全來源的資料,比如使用者的輸入。
PHP 過濾器用於驗證和過濾來自非安全來源的資料。
測試、驗證和過濾使用者輸入或自定義資料是任何 Web 應用程式的重要組成部分。
PHP 的過濾器擴充套件的設計目的是使資料過濾更輕鬆快捷。
幾乎所有的 Web 應用程式都依賴外部的輸入。這些資料通常來自使用者或其他應用程式(比如 web 服務)。通過使用過濾器,您能夠確保應用程式獲得正確的輸入型別。
您應該始終對外部資料進行過濾!
- 來自表單的輸入資料
- Cookies
- Web services data
- 伺服器變數
- 資料庫查詢結果
函式:
如需過濾變數,請使用下面的過濾器函式之一:
- filter_var() - 通過一個指定的過濾器來過濾單一的變數
- filter_var_array() - 通過相同的或不同的過濾器來過濾多個變數
- filter_input - 獲取一個輸入變數,並對它進行過濾
- filter_input_array - 獲取多個輸入變數,並通過相同的或不同的過濾器對它們進行過濾
Validating 和 Sanitizing:
Validating 過濾器:
- 用於驗證使用者輸入
- 嚴格的格式規則(比如 URL 或 E-Mail 驗證)
- 如果成功則返回預期的型別,如果失敗則返回 FALSE
Sanitizing 過濾器:
- 用於允許或禁止字串中指定的字元
- 無資料格式規則
- 始終返回字串
filter_var()例項:
<?php
header("content-type:text/html;charset=GBK");
$int = 123; // 無額外過濾選項 只判定是否為整數
if(!filter_var($int, FILTER_VALIDATE_INT)) {
// 輸出:Integer is valid
echo "不是整數"."<br>";
} else {
echo "是整數"."<br>";
}
// 選項和標誌,屬於額外過濾選項
$int_options = array(
"options" => array(
// 'options' 固定
"min_range" => 0,
// 最小值
"max_range" => 100
// 最大值 'min_range'和'max_range' 也固定
)
);
// 過濾單一變數 即$int 增加額外過濾選項
if(!filter_var($int, FILTER_VALIDATE_INT, $int_options)) {
// 輸出:Integer is not valid
echo "不在範圍內"."<br>";
} else {
echo "在範圍內"."<br>";
}
?>
filter_has_var() 和 filter_input():
filter_has_var(type, variable) 兩個引數必填
引數一:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_SERVER
INPUT_ENV
引數二:表單裡的命名變數 filter_input(input_type, variable, filter, options) 前兩個引數必填,後兩個可選填,第三個不填則使用預設過濾條件,只判斷是否為字串。
<hr>
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
Email : <input type="text" name="email">
Url: <input type="text" name="url">
<input type="submit" name="submit" value="提交">
</form>
<hr>
<?php
header("content-type:text/html;charset=GBK");
// 檢查提交表單中是否含 "email"
if (!filter_has_var(INPUT_POST, "email")) {
echo "email不可為空<br>";
} else {
// 檢查是否為有效郵箱地址
if (!filter_input(INPUT_POST, "email", FILTER_VALIDATE_EMAIL)) {
echo "email不是合法郵箱<br>";
} else {
echo "email是合法郵箱<br>";
}
}
//filter_has_var判斷post請求引數是否存在
if (!filter_has_var(INPUT_POST, "url")) {
echo "url不可為空<br>";
} else {
if (!filter_input(INPUT_POST, "url", FILTER_VALIDATE_URL)) {
echo "url不是合法url<br>";
} else {
echo "url是合法url<br>";
}
}
?>
filter_input_array()過濾多輸入 :
可能的選項或標誌:
- FILTER_FLAG_NO_ENCODE_QUOTES - 該標誌不編碼引號
- FILTER_FLAG_STRIP_LOW - 去除 ASCII 值在 32 以下的字元
- FILTER_FLAG_STRIP_HIGH - 去除 ASCII 值在 32 以上的字元
- FILTER_FLAG_ENCODE_LOW - 編碼 ASCII 值在 32 以下的字元
- FILTER_FLAG_ENCODE_HIGH - 編碼 ASCII 值在 32 以上的字元
- FILTER_FLAG_ENCODE_AMP - 把 & 字元編碼為 &
<!--filter_input_array函式-->
<?php
header("content-type:text/html;charset=GBK");
$name=$age=$email="";
$filters = array(
"name" => array( "filter" => FILTER_SANITIZE_STRING ),
"age" => array( "filter" => FILTER_VALIDATE_INT,
"options" => array( "min_range" => 1, "max_range" => 120 ) ),
"email" => FILTER_VALIDATE_EMAIL, );
// 符合過濾條件返回原變數否則返回false 'INPUT_GET' 對應表單提交的 method
$result = filter_input_array(INPUT_GET, $filters);
$name=$result["name"];
$age=$result["age"];
$email=$result["email"];
if (!$result["age"]) {
echo "Age應該位於 1到120之間.<br>";
} else {
echo "age是有效的.<br>";
} if (!$result["email"]) {
echo "Email是無效的.<br>";
} else {
echo "Email是有效的.<br>";
} if (!$result["name"]) {
echo "User是無效的.<br>";
} else {
echo "User是有效的.<br>";
}
?>
<form method="get" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
Age: <input type="text" name="age" value="<?php echo $age;?>">
Email: <input type="text" name="email" value="<?php echo $email;?>">
<input type="submit" name="submit" value="提交">
</form>
自定義過濾器callback:
使用 FILTER_CALLBACK 過濾器,可以呼叫自定義的函式,把它作為一個過濾器來使用。這樣,我們就擁有了資料過濾的完全控制權。
您可以建立自己的自定義函式,也可以使用已存在的 PHP 函式。
<?php
//filter_var函式
header("content-type:text/html;charset=GBK");
function convertSpace($string)
{
return str_replace("_", ".", $string);
}
$string = "www_baidu_com!";
echo filter_var($string, FILTER_CALLBACK,
array("options"=>"convertSpace"));
?>
12.json
函式 | 描述 |
---|---|
json_encode | 對變數進行 JSON 編碼 |
json_decode | 對 JSON 格式的字串進行解碼,轉換為 PHP 變數 |
json_last_error | 返回最後發生的錯誤 |
son_encode:
PHP json_encode() 用於對變數進行 JSON 編碼,該函式如果執行成功返回 JSON 資料,否則返回 FALSE 。
語法:
string json_encode ( $value [, $options = 0 ] )
引數:
- value: 要編碼的值。該函式只對 UTF-8 編碼的資料有效。
- options:由以下常量組成的二進位制掩碼:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
<?php
header("content-type:text/html;charset=GBK");
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
json_decode:
PHP json_decode() 函式用於對 JSON 格式的字串進行解碼,並轉換為 PHP 變數。
語法:
mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
引數:
-
json_string: 待解碼的 JSON 字串,必須是 UTF-8 編碼資料
-
assoc: 當該引數為 TRUE 時,將返回陣列,FALSE 時返回物件。
-
depth: 整數型別的引數,它指定遞迴深度
-
options: 二進位制掩碼,目前只支援 JSON_BIGINT_AS_STRING 。
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>