首頁 > 後端開發 > php教程 > 如何輕鬆地將 PHP 物件轉換為關聯數組?

如何輕鬆地將 PHP 物件轉換為關聯數組?

Mary-Kate Olsen
發布: 2024-12-26 10:54:10
原創
691 人瀏覽過

How to Easily Convert a PHP Object into an Associative Array?

如何將 PHP 物件轉換為關聯數組

如果您的程式碼使用數組,則整合操作物件中資料的 API 可能會帶來挑戰。幸運的是,PHP 提供了一種簡單的方法將物件轉換為關聯數組。

簡單地對物件進行類型轉換

要將物件轉換為數組,只需對它進行類型轉換:

$array = (array) $yourObject;
登入後複製

理解結果數組

如PHP中所述文件:

「如果將物件轉換為數組,則結果是數組,其元素是該物件的屬性。」

但是,某些屬性的行為可能有所不同:

  • 整數屬性:不可存取
  • 私有變數:以類別名稱開頭
  • 受保護變數:以a開頭'*'

例子

簡單物件:

$object = new StdClass;
$object->foo = 1;
$object->bar = 2;

var_dump((array) $object);
登入後複製

輸出:

array(2) {
  'foo' => int(1)
  'bar' => int(2)
}
登入後複製

輸出:

class Foo {
    private $foo;
    protected $bar;
    public $baz;

    public function __construct() {
        $this->foo = 1;
        $this->bar = 2;
        $this->baz = new StdClass;
    }
}

var_dump((array) new Foo);
登入後複製

輸出:

array(3) {
  'Foofoo' => int(1)
  '*bar' => int(2)
  'baz' => class stdClass#2 (0) {}
}
登入後複製

複雜物件:

輸出:
  • 限制
  • 直接型別轉換不會執行物件圖的深度轉換。要存取非公共屬性,必須應用 PHP 手冊中提到的空位元組。此方法最適合轉換簡單的 StdClass 物件或僅具有公共屬性的物件。
  • 有關更深入的信息,請考慮閱讀以下內容:
有關數組的PHP 文件:https: //www.php.net/manual/en/function.array .phpStdClass 物件文件: https://www.php.net/manual/en/class.stdclass.php「快速PHP 物件到陣列轉換」:https://stitcher.io/blog/fast-php-object-到數組轉換

以上是如何輕鬆地將 PHP 物件轉換為關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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