首頁 > 後端開發 > PHP問題 > php+將物件轉換字串陣列物件數組

php+將物件轉換字串陣列物件數組

王林
發布: 2023-05-07 20:09:07
原創
479 人瀏覽過

在php中,經常需要將一些複雜的資料轉換成字串陣列或物件數​​組,以便於在不同場景中使用。本文將介紹如何利用php實作將物件轉換成字串陣列、將字串陣列轉換成物件陣列、以及將物件陣列轉換成字串陣列的一些技巧。

  1. 將物件轉換為字串陣列

在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) }
登入後複製
  1. 將字串陣列轉換為物件陣列

當我們有一組當字串陣列需要轉換成物件陣列時,我們可以使用內建函數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)
  }
}
登入後複製

從結果可以看出,我們成功將字串陣列轉換成物件陣列了。

  1. 將物件陣列轉換為字串陣列

當我們需要將物件陣列轉換成字串陣列時,我們可以使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板