在PHP程式設計中,陣列和物件是最常用的資料型別之一。而有時我們需要將一個包含物件的數組轉換為只包含原始資料的數組,這時就需要進行數組去除物件的操作。本文將介紹如何在PHP中進行陣列去除物件的操作。
array_map
函數是PHP中的函數,它可以對陣列中的每個元素套用函數,然後傳回一個新的陣列。對於含有物件的數組,我們可以使用array_map
函數應用一個函數來將每個物件轉換為原始的資料類型。例如:
function object_to_array($obj) { return (array) $obj; } $arr = array( (object)array("name"=>"Tom","age"=>18), (object)array("name"=>"Jerry","age"=>20), ); $new_arr = array_map("object_to_array",$arr); print_r($new_arr);
在上述程式碼中,我們定義了一個object_to_array
函數,它會將一個物件轉換為陣列。然後,我們使用array_map
函數對原始的陣列$arr
應用這個函數,傳回一個新的陣列並儲存在$new_arr
變數中。最後,我們使用print_r
函數輸出轉換後的陣列。
#PHP中的json_decode
函數可以將JSON格式的資料轉換為PHP陣列或物件。而json_encode
函數可以將PHP陣列或物件轉換為JSON格式的資料。因此,我們可以先使用json_encode
函數將含有物件的陣列轉換為JSON格式的數據,再使用json_decode
函數將其轉換為只包含原始資料類型的陣列。例如:
$arr = array( (object)array("name"=>"Tom","age"=>18), (object)array("name"=>"Jerry","age"=>20), ); $json = json_encode($arr); $new_arr = json_decode($json,true); print_r($new_arr);
上述程式碼中,我們先使用json_encode
函數將陣列$arr
轉換為JSON格式的資料並儲存在$json
變數中,然後使用json_decode
函數將其轉換為數組,並儲存在$new_arr
變數中。最後,我們使用print_r
函數輸出轉換後的陣列。
PHP中的ArrayIterator
類別可以將陣列轉換為迭代器,然後我們就可以使用方法getArrayCopy
將其轉換為只含原始資料類型的陣列。例如:
$arr = array( (object)array("name"=>"Tom","age"=>18), (object)array("name"=>"Jerry","age"=>20), ); $iterator = new ArrayIterator($arr); $new_arr = $iterator->getArrayCopy(); print_r($new_arr);
在上述程式碼中,我們建立了一個ArrayIterator
類別的實例$iterator
,並將陣列$arr
傳遞給它。然後我們使用getArrayCopy
方法將其轉換為原始資料類型的數組,並將其儲存在$new_arr
變數中。最後,我們使用print_r
函數輸出轉換後的陣列。
綜上所述,我們可以使用以上三種方法來進行PHP中的陣列去除物件的操作。在具體應用中,我們可以根據實際需求選擇合適的方法。
以上是php 數組去除對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!