在php中,經常需要將一些複雜的資料轉換成字串陣列或物件數組,以便於在不同場景中使用。本文將介紹如何利用php實作將物件轉換成字串陣列、將字串陣列轉換成物件陣列、以及將物件陣列轉換成字串陣列的一些技巧。
在php中,我們可以使用內建的函數get_object_vars()
來取得物件的屬性值,並將其儲存到一個數組中。程式碼範例如下:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person('Tom', 20); $arr = get_object_vars($person); var_dump($arr);
執行以上程式碼,輸出結果為:
array(2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) }
當我們有一組當字串陣列需要轉換成物件陣列時,我們可以使用內建函數json_decode()
來實作。前提是所要轉換的字串陣列必須符合JSON
格式。程式碼範例如下:
$jsonStr = '[{"name":"Tom","age":20},{"name":"Jerry","age":21}]'; $arr = json_decode($jsonStr); var_dump($arr);
以上程式碼執行結果:
array(2) { [0]=> object(stdClass)#1 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) } [1]=> object(stdClass)#2 (2) { ["name"]=> string(5) "Jerry" ["age"]=> int(21) } }
從結果可以看出,我們成功將字串陣列轉換成物件陣列了。
當我們需要將物件陣列轉換成字串陣列時,我們可以使用serialize()
函數來實作。其可以將物件陣列序列化成一個字串,並且可以透過unserialize()
函數再將序列化的字串還原成原來的物件陣列。
以下是一個範例程式碼:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $persons = array(new Person('Tom', 20), new Person('Jerry', 21)); $str = serialize($persons); $arr = unserialize($str); var_dump($arr);
以上程式碼執行結果:
array(2) { [0]=> object(Person)#1 (2) { ["name"]=> string(3) "Tom" ["age"]=> int(20) } [1]=> object(Person)#2 (2) { ["name"]=> string(5) "Jerry" ["age"]=> int(21) } }
透過上述範例程式碼,我們成功地將物件陣列轉換成了字串陣列。
本文透過三個實例介紹了php中將物件轉換成字串陣列、將字串陣列轉換成物件陣列以及將物件陣列轉換成字串陣列的方法。透過這些技巧,在php開發中,我們可以更方便地進行資料轉換和處理。
以上是php+將物件轉換字串陣列物件數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!