当前位置: 编程技术>php
本页文章导读:
▪PHP面向对象1 1、定义类<?php //定义一个类 /* class Cat{ public $name; public $age; } $cat1=new Cat(); $cat1->name ="小白"; $cat1->age=10; echo $cat1->name.'---'.$cat1->age;*/ //对象传.........
▪PHP 面向对象-成员方法 用一个列子来读解成员方法:大家可以自己动手写一写,加深理解。这样一个需求; 希望人可以说话, 做算术题.......,这样就需要使用到成员方法:1、添加speak 成员方法,输出 我是小明2、添加jisu.........
▪php 判断数组是一维,二维,还是多维 <?php/** * 返回数组的维度 * @param [type] $arr [description] * @return [type] [description] */function arrayLevel($arr){ $al = array(0); function aL($arr,&$al,$level=0){ if(is_array($arr)){ $level++; .........
[1]PHP面向对象1
1、定义类
<?php
//定义一个类
/*
class Cat{
public $name;
public $age;
}
$cat1=new Cat();
$cat1->name ="小白";
$cat1->age=10;
echo $cat1->name.'---'.$cat1->age;
*/
//对象传递的形式,地址传递
class Person{
public $name;
public $age;
}
//定义一个方法,接收对象,并改变对象的name
function changeNane($obj){
$obj->name="我已经改名为:张三。";
}
//创建一个对象
$a = new Person;
$a->name="小明";
$a->age=21;
$b=$a;
//调用方法
changeNane($a);
//输出$a,$b
echo '$a是:'.$a->name.'<br/>';
echo '$b是:'.$b->name;
//从输出结果来看,对象的赋值或者函数接收对象时都是地址传递,他们指向同一地址
?>
//定义一个类
/*
class Cat{
public $name;
public $age;
}
$cat1=new Cat();
$cat1->name ="小白";
$cat1->age=10;
echo $cat1->name.'---'.$cat1->age;
*/
//对象传递的形式,地址传递
class Person{
public $name;
public $age;
}
//定义一个方法,接收对象,并改变对象的name
function changeNane($obj){
$obj->name="我已经改名为:张三。";
}
//创建一个对象
$a = new Person;
$a->name="小明";
$a->age=21;
$b=$a;
//调用方法
changeNane($a);
//输出$a,$b
echo '$a是:'.$a->name.'<br/>';
echo '$b是:'.$b->name;
//从输出结果来看,对象的赋值或者函数接收对象时都是地址传递,他们指向同一地址
?>
重点要了解到内容:
a、类是抽象的,代表一类事物
b、对象是具体,是类的一个具体实例或者说类是对象的模板, 对象是类的一个个体实例
c、成员属性,它可以是 基本数据类型(整数、小数、字符、布尔),也可以是复合数据类型(数组、对象)
d、如果一个文件,专门用于定义类,则命名规范应当这样类名.class.php
e、对象的赋值或者函数接收对象时都是地址传递,他们指向同一地址
本文链接
[2]PHP 面向对象-成员方法
用一个列子来读解成员方法:大家可以自己动手写一写,加深理解。
这样一个需求; 希望人可以说话, 做算术题.......,这样就需要使用到成员方法:
1、添加speak 成员方法,输出 我是小明
2、添加jisuan 成员方法,可以计算从 1+..+1000的结果
3、修改jisuan 成员方法,该方法可以接收一个数n,计算 1+..+n 的结果
4、添加add 成员方法,可以计算两个数的和
参考代码:
<?php
class Person{
public $name;
public $age;
//添加成员方法
public function speak(){
echo "我是小明";
}
public function jisuan(){
//计算从 1+..+1000的结果
$result =0;
for($i=1;$i<=1000;$i++){
$result+=$i;
}
//把计算结果ruturn 返回
return $result;
}
public function jisuan2($n){
//计算从 1+..+n的结果
$result=0;
for($i=1;$i<=$n;$i++){
$result+=$i;
}
//return
return $result;
}
//计算2个数的和
public function add($num1,$num2){
return $num1+$num2;
}
}
$person1=new Person;
//人说话
$person1->speak().'<br/>';
//计算
echo '<br/>'.$person1->jisuan();
//echo '<br/>'.$person1->jisuan(100);
//带参数的
echo '计算的结果是:'.$person1->jisuan2(5);
//计算2个数的和
echo "<br/>50+50=".$person1->add(50,51);
?>
class Person{
public $name;
public $age;
//添加成员方法
public function speak(){
echo "我是小明";
}
public function jisuan(){
//计算从 1+..+1000的结果
$result =0;
for($i=1;$i<=1000;$i++){
$result+=$i;
}
//把计算结果ruturn 返回
return $result;
}
public function jisuan2($n){
//计算从 1+..+n的结果
$result=0;
for($i=1;$i<=$n;$i++){
$result+=$i;
}
//return
return $result;
}
//计算2个数的和
public function add($num1,$num2){
return $num1+$num2;
}
}
$person1=new Person;
//人说话
$person1->speak().'<br/>';
//计算
echo '<br/>'.$person1->jisuan();
//echo '<br/>'.$person1->jisuan(100);
//带参数的
echo '计算的结果是:'.$person1->jisuan2(5);
//计算2个数的和
echo "<br/>50+50=".$person1->add(50,51);
?>
本文链接
[3]php 判断数组是一维,二维,还是多维
<?php
/**
* 返回数组的维度
* @param [type] $arr [description]
* @return [type] [description]
*/
function arrayLevel($arr){
$al = array(0);
function aL($arr,&$al,$level=0){
if(is_array($arr)){
$level++;
$al[] = $level;
foreach($arr as $v){
aL($v,$al,$level);
}
}
}
aL($arr,$al);
return max($al);
}
?>
/**
* 返回数组的维度
* @param [type] $arr [description]
* @return [type] [description]
*/
function arrayLevel($arr){
$al = array(0);
function aL($arr,&$al,$level=0){
if(is_array($arr)){
$level++;
$al[] = $level;
foreach($arr as $v){
aL($v,$al,$level);
}
}
}
aL($arr,$al);
return max($al);
}
?>
本文链接
最新技术文章: