首页 >后端开发 >PHP问题 >php 数组去除对象

php 数组去除对象

PHPz
PHPz原创
2023-05-07 17:15:10578浏览

在PHP编程中,数组和对象是最常用的数据类型之一。而有时我们需要将一个包含对象的数组转换为只包含原始数据的数组,这时就需要进行数组去除对象的操作。本文将介绍如何在PHP中进行数组去除对象的操作。

  1. 使用array_map函数

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函数输出转换后的数组。

  1. 使用json_decode和json_encode函数

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函数输出转换后的数组。

  1. 使用迭代器

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn