背景:
对象是存储数据和有关如何处理数据的信息的数据类型。
在 PHP 中,必须明确地声明对象。首先必须声明对象的类。对此,使用 class 关键词。类是包含属性和方法的结构。在对象类中定义数据类型,然后在该类的实例中使用此数据类型。
代码:
<!DOCTYPE html>
<html>
<body>
<?php
class Car
{
var $color;
var $size;
function Car($color="green",$size=100) {
$this->color = $color;
$this->size = $size;
}
function what_color() {
return $this->color;
}
}
function print_vars($obj) {
foreach (get_object_vars($obj) as $prop => $val) {
echo "\t$prop = $val<br>";
}
}
// instantiate one object
$herbie = new Car("white");
print_r(get_object_vars($herbie));
echo("<br>");
// show herbie properties
echo "herbie: Properties<br>";
print_vars($herbie);
?>
</body>
</html>
上述代码中的foreach用于数组遍历,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种遍历的方式:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value
并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key
。
自PHP 5 起,还可能遍历对象。 上述代码示例中就是通过这种方式进行遍历的。prop 作为对象成员的key值,val作为value值。
get_object_var($object)
,返回一个数组。获取$object对象中的属性,组成一个数组,对应的输出结果是:Array ( [color] => white [size] => 100 )