在php开发中,经常会将对象转化成数组。而在一些特定的情况下,需要将php对象转化成二维数组,以便于操作和处理数据。那么,如何才能把一个php对象转化成二维数组呢?
PHP中将一个对象转化成数组的函数是 get_object_vars(),它的作用是返回对象的属性和属性的值组成的数组。现在,我们来看一个简单的例子。
class person {
private $name = '';
private $age = '';
private $gender = '';
public function setName($name) {
$this->name = $name;
}
public function setAge($age) {
$this->age = $age;
}
public function setGender($gender) {
$this->gender = $gender;
}
}
$person = new person();
$person->setName('Tom');
$person->setAge(20);
$person->setGender('male');
print_r($person); // 输出person对象执行上面的代码,可以看到输出的是一个 person 对象。如果我们要获取该对象的属性和属性值,可以使用 get_object_vars() 函数。具体用法如下:
print_r(get_object_vars($person)); // 获取person对象的属性和属性值
执行上面的代码,可以看到输出的是一个数组,其中包含了 person 对象的所有属性和属性值。
现在,我们继续扩展例子,演示如何把一个PHP对象转化成二维数组。
立即学习“PHP免费学习笔记(深入)”;
class person {
private $name = '';
private $age = '';
private $gender = '';
public function setName($name) {
$this->name = $name;
}
public function setAge($age) {
$this->age = $age;
}
public function setGender($gender) {
$this->gender = $gender;
}
public function toArray() {
return array(
'name' => $this->name,
'age' => $this->age,
'gender' => $this->gender
);
}
}
$person = new person();
$person->setName('Tom');
$person->setAge(20);
$person->setGender('male');
print_r($person->toArray()); // 输出person对象转化的数组上述代码中,我们可以看到,我们新增了一个 toArray() 方法,用于将 person 对象转化成一个包含person属性和属性值的数组。
执行上面的代码,我们可以看到输出的是一个包含person属性和属性值的数组。但是,它并不是一个二维数组。
接下来,我们进一步改进代码,使得它返回一个二维数组。
class person {
private $name = '';
private $age = '';
private $gender = '';
public function setName($name) {
$this->name = $name;
}
public function setAge($age) {
$this->age = $age;
}
public function setGender($gender) {
$this->gender = $gender;
}
public function toArray() {
return array(
'person' => array(
array(
'name' => $this->name,
'age' => $this->age,
'gender' => $this->gender
)
)
);
}
}
$person = new person();
$person->setName('Tom');
$person->setAge(20);
$person->setGender('male');
print_r($person->toArray()); // 输出person对象转化的二维数组上述代码中,我们可以看到,我们将 person 对象转化成了一个二维数组。其中,person 属性是一个包含一个元素的数组,该元素包含该 person 对象的属性和属性值。
执行上面的代码,我们可以看到输出的是一个包含person属性和属性值的二维数组。这样,我们便实现了把PHP对象转化成二维数组的操作。
总结
在PHP开发中,我们经常需要将对象转化成数组,这个过程非常灵活,可以根据自己的需要进行扩展和改进。把PHP对象转化成二维数组,可以非常方便的操作和处理数据。以上代码只是一个简单的示例,我们可以根据自己的项目需求进行进一步的改进和扩展。











