如何在 PHP 中將對象轉換為數組 [附示例]

已發表: 2020-10-26

PHP 是廣泛用於 Web 開發的最流行的通用腳本語言之一。 它是最快、最靈活的編程語言之一。 使用 PHP 就是處理數據類型。 PHP 中有幾種數據類型,其中對象和數組是 PHP 的複合數據類型。 本文重點介紹如何在 PHP 中將對象轉換為數組

目錄

PHP 中的面向對象編程 (OOP)

PHP 的關鍵方面之一是面向對象的編程,其中數據被視為對象,並在其上實現軟件。 這是高級 PHP 的簡化方法之一。 使用 PHP 可以實現面向對象的編程,其中對象具有由它們運行的 PHP 程序定義的規則。這些規則稱為類。

一些 OOP 概念

在了解如何將對象轉換為數組之前,讓我們先了解一些與 PHP 中面向對象編程相關的重要術語。

班級

類是程序員定義的數據類型。 它包括局部函數和局部數據。 一個類可以作為一個模板,用於製作同一類對象的多個實例。

目的

數據結構的單個實例由類定義。 許多屬於一個類的對象可以在定義一個類之後生成。 對像也稱為實例。

定義類及其對象的示例

類工作{

// Jobs 類的成員

}

// 創建三個 Jobs 對象

$software = 新工作;

$pharmaceutical = 新工作;

$finance = 新工作;

大批

在 PHP 中,數組是一種特殊類型的變量,一次保存多個值。

定義一個數組

在 PHP 中,數組是用數組函數 'array()' 定義的。

例子:

<?php

$numbers = 數組(“一”、“二”、“三”);

迴聲計數($numbers);

?>

閱讀: 15 個令人興奮的 PHP 項目想法和初學者主題

對像到數組 PHP

PHP中將對象轉換為數組的方法主要有兩種:

1. 通過將對像類型轉換為數組 PHP

2.使用JSON解碼和編碼方法

讓我們詳細看看兩者:

1. 將對像類型轉換為數組 PHP

類型轉換是一種將一個數據類型變量用於不同數據類型的方法,它只是數據類型的精確轉換。

在 PHP 中,可以使用 PHP 的類型轉換規則將對象轉換為數組。

句法:

$myArray = (數組) $myObj;

程序:

<?php

類商店{

公共函數__inventory($product1,$product2,$product3){

$this->product1 = $product1;

$this->product2 =$product2;

$this->product3 = $product3;

}

}

$myShop=new shop(“雜貨”、“化妝品”、“穀物”);

echo “轉換前:”。'</br>';

var_dump($myShop);

$myShopArray = (數組)$myShop;

echo "轉換後:".'</br>';

var_dump($myShopArray);

?>

輸出:

轉換前:

object(shop)#1 (3) { [“product1″]=> string(5) ” 雜貨店 ” [“product2″]=> string(4) ” 化妝品 ” [“product3″]=> string(4) ”糧食 ” }

轉換後:

array(3) { [“product1″]=> string(5)”雜貨店” [“product2″]=> string(4)”化妝品” [“product3″]=> string(4)”穀物”}

程序說明:

在上面的程序中,創建了一個類“shop”。 在“shop”類中,創建了函數“inventory()”。 函數inventory() 將在創建對象時執行。

構造函數將接收使用 new 關鍵字創建對象時提供的參數。 在第一個 var_dump() 表達式中,對像被打印出來。 第二次,使用類型轉換過程將對像類型轉換為數組。

2.使用JSON解碼和編碼方法

對像到數組 PHP也使用 JSON 解碼和編碼方法完成。 在此方法中,json_encode() 函數返回給定值的 JSON 編碼字符串。 json_decode() 函數接受 JSON 編碼的字符串並將其轉換為 PHP 數組。

句法:

$myArray = json_decode(json_encode($object), true);

程序:

<?php

班級員工{

公共函數 __company($firstname, $lastname) {

$this->firstname = $firstname;

$this->姓氏 = $姓氏;

}

}

$myObj = 新員工(“卡莉”,“瓊斯”);

echo “轉換前:”。'</br>';

var_dump($myObj);

$myArray = json_decode(json_encode($myObj), true);

echo “轉換後:”。'</br>';

var_dump($myArray);

?>

輸出:

轉換前:

對象(學生)#1 (2) { [“firstname”]=> string(4) ” Carly ” [“lastname”]=> string(6) ” Jones ” }

轉換後:

數組(2){[“名字”]=>字符串(4)“卡莉”[“姓氏”]=>字符串(6)“瓊斯”}

程序說明:

在上面的程序中,創建了一個名為“employee”的類。 在該類中,聲明了一個函數“company()”,該函數將在對象創建期間執行。

構造函數接收使用 new 關鍵字創建對象時給出的參數。 在第一個 var_dump() 表達式中,對像被打印出來,在第二個中,對像被使用 json_decode 和 json_encode 技術轉換成一個數組。

另請閱讀: Github 上面向初學者的 15 個有趣的 PHP 項目

結論

在本文中,我們介紹了 PHP 最突出的主題之一。 作為一名程序員,您將處理語言的各個方面,並且在進入高級級別時必須處理一些最複雜的 PHP 概念。 希望這篇重點介紹在 PHP中將對象轉換為數組的方法的文章能夠為您提供參考。

upGrad帶來了 PHP 編程以及 upGrad全棧開發軟件開發專業化的 PG 文憑 一個讓你成為全棧開發人員並學習構建一些很棒的應用程序的程序。 這是一個為期 12 個月的廣泛計劃,包括處理實時項目和任務,還培訓 15 種編程語言和工具。 除此之外,它還提供模擬面試和工作協助等全方位的職業支持。

踏上夢想的工作

升級和 IIIT-BANGALORE 的 PG 文憑全棧
了解更多