在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中文网其他相关文章!