在 PHP 中,可以將變數轉換成數組,讓資料處理更方便、更有效率。下面我們將詳細介紹如何將不同類型的變數轉換成陣列。
一、將字串轉換成陣列
1.1 使用explode 函數
explode 函數可以將字串依照指定的分隔符號拆分成數組,範例程式碼如下:
$str = "apple,banana,orange"; $arr = explode(",", $str); print_r($arr);
輸出結果:
Array ( [0] => apple [1] => banana [2] => orange )
1.2 使用str_split 函數
str_split 函數可以將字串拆分成單一字元的數組,範例程式碼如下:
$str = "Hello, PHP!"; $arr = str_split($str); print_r($arr);
輸出結果:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => , [6] => [7] => P [8] => H [9] => P [10] => ! )
二、將數字、布林值或null 轉換成陣列
2.1 使用轉換符號
可以使用轉換符號將數字、布林值或null 轉換成數組,範例程式碼如下:
$num = 123; $arr = (array)$num; print_r($arr); $bool = true; $arr = (array)$bool; print_r($arr); $null = null; $arr = (array)$null; print_r($arr);
輸出結果:
Array ( [0] => 123 ) Array ( [0] => 1 ) Array ( )
三、將物件轉換成數組
3.1 使用get_object_vars 函數
get_object_vars函數可以將物件轉換成關聯數組,其中鍵名為物件屬性名,範例程式碼如下:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person("Tom", 18); $arr = get_object_vars($person); print_r($arr);
#輸出結果:
Array ( [name] => Tom [age] => 18 )
3.2 巢狀使用轉換
如果物件屬性值也是對象,可以使用遞迴呼叫將其轉換成數組,範例程式碼如下:
class Person { public $name; public $age; public $address; public function __construct($name, $age, $address) { $this->name = $name; $this->age = $age; $this->address = $address; } } class Address { public $country; public $city; public function __construct($country, $city) { $this->country = $country; $this->city = $city; } } $address = new Address("China", "Beijing"); $person = new Person("Tom", 18, $address); $arr = (array)$person; if (is_object($person->address)) { $arr["address"] = (array)$person->address; } print_r($arr);
#輸出結果:
Array ( [name] => Tom [age] => 18 [address] => Array ( [country] => China [city] => Beijing ) )
以上就是將變數轉換成數組的方法,希望能對你有所幫助!
以上是php 怎麼將變數轉換成陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!