1.对象克隆总结:
1.1 基本语法:
$newObject = clone $oldObject;
1.2对象生成了一个全新 独立的对象;
1.3 对象生成时如果定义了__clone函数 就会调用;
1.4 如果将__clone 定义成私有化,就会报错;
2.对象遍历,指的是对某个对象的属性进行遍历;
如果在类的外面 只能遍历类的public 属性
<?php header("content-type:text/html;charset=utf-8"); // 结果 // name = 小花猫 // age = 2 // ----------------------- // name=小花猫 // age=2 // food=沙丁鱼 // lover=大花狗 class Cat { public $name = "小花猫"; public $age = 2; protected $food = "沙丁鱼"; private $lover = "大花狗"; public function __construct() { } public function showInfo(){ foreach($this as $k=>$v){ echo "<br> $k=$v"; } } } $cat = new Cat(); foreach($cat as $k=>$v){ echo "<br> $k = $v"; } echo "<br>-----------------------"; $cat->showInfo();
3.内置标准类
我们希望把一些数据,以对象的形式保存起来但是我们又不想定义一个类,可以考虑php内置的保准类:stdClass[standard标准]
php内置标准类 stdclass,这个是系统默认提供,不需要程序员去创建,而是直接使用就可以了;
<?php header("content-type:text/html;charset=utf-8"); //stdClass std(standard 标准); $obj = new stdClass; $obj->name = "北京"; $obj->address = "中国"; $obj->age = 6000; echo "<pre>"; var_dump($obj); // 结果 // object(stdClass)[1] // public 'name' => string '北京' (length=6) // public 'address' => string '中国' (length=6) // public 'age' => int 6000
4.其他数据类型转对象
4.1 数组转对象
4.2 基本数据类型转对象
4.3 null 转对象
4.4 将对象转为数组
<?php
header("content-type:text/html;charset=utf-8");
// 数据类型和对象的相互转换
$person = array("name"=>"乔峰","job"=>"帮主","shill"=>"降龙十八掌");
$person_obj = (object)$person;
echo "<br>";
var_dump($person_obj); // 转化成了内置标准类
echo "<br>";
// 基本属性转对象
$appnum = 20;
$app_obj = (object)$appnum;
echo "<br>";
var_dump($app_obj);
// 对象转数组
class Cat{
public $name = "小花猫";
public $age = 45;
}
$cat = new Cat;
$cat_arr = (array)$cat;
echo "<br>";
var_dump($cat_arr);