当前位置: 编程技术>php
本页文章导读:
▪PHP面向对象概念
关键字和特殊变量 new,class,extends。这三个,大家都懂得。 ::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量。还可以用于覆.........
▪php 记录进行累加并显示总时长为秒的结果
现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录: 00:22:32 13:42:21 134:42:21 表示的是时长,但是,保存类型是文本。 现在要求,用php如何将这些记录进行累加,最后显示为.........
▪php 按指定元素值去除数组元素的实现方法
按指定元素值去除数组元素 代码如下: <?php //去除值为"Cat"的元素 $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); print_r($a); unset($a[array_search("Cat",$a)]);//array_search("Cat",$a)按元素值返回键名。去除.........
[1]PHP面向对象概念
来源: 互联网 发布时间: 2013-11-30
关键字和特殊变量
new,class,extends。这三个,大家都懂得。
::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量。还可以用于覆盖类中的成员和方法。
parent和self。parent指的就是派生类在 extends 声明中所指的基类的名字。这样做可以避免在多个地方使用基类的名字。
$this 伪变量。$this指向当前的实例。$this却不一定是方法所属的对象。有时候类A内的代码会调用类B的一个静态方法。参考例子:http://www.php.net/manual/zh/language.oop5.basic.php
static关键字。如果声明类成员或方法为static,就可以不实例化类而直接访问。但是,除了静态方法,不能通过一个对象来访问其中的静态成员。在静态方法中,不使用$this。而使用self:: 。
final关键字。可以作用于类(class)和方法(function),会使类不能被继承,方法不能被覆盖。
属性
可以初始化,但初始化的值必须是常数。常量前面用const个关键字,常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。
构造函数和析构函数
这两个函数都不会暗中调用基类的响应函数,这跟java的构造器机制不一样。要达到这样的效果,必须显示执行。析构函数中不能抛出异常。
抽象类:声明为抽象的类方法不能包含具体实现,抽象类不能实例化。必须先被继承,再实例化其子类。而且子类的访问控制要和抽象类一样,或者更加宽松。抽象类至少包含一个抽象方法的。
接口
使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
定义的所有方法都必须是public,且方法为空
可以定义常量,但是没有属性
接口的实现(implements)必须实现所有方法,而且可以实现多个接口(注意,方法不能重名)。
接口可以被另外的接口继承 (extends)
new,class,extends。这三个,大家都懂得。
::,范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量。还可以用于覆盖类中的成员和方法。
parent和self。parent指的就是派生类在 extends 声明中所指的基类的名字。这样做可以避免在多个地方使用基类的名字。
$this 伪变量。$this指向当前的实例。$this却不一定是方法所属的对象。有时候类A内的代码会调用类B的一个静态方法。参考例子:http://www.php.net/manual/zh/language.oop5.basic.php
static关键字。如果声明类成员或方法为static,就可以不实例化类而直接访问。但是,除了静态方法,不能通过一个对象来访问其中的静态成员。在静态方法中,不使用$this。而使用self:: 。
final关键字。可以作用于类(class)和方法(function),会使类不能被继承,方法不能被覆盖。
属性
可以初始化,但初始化的值必须是常数。常量前面用const个关键字,常量的值必须是一个定值,不能是变量,类属性或其它操作(如函数调用)的结果。
构造函数和析构函数
这两个函数都不会暗中调用基类的响应函数,这跟java的构造器机制不一样。要达到这样的效果,必须显示执行。析构函数中不能抛出异常。
抽象类:声明为抽象的类方法不能包含具体实现,抽象类不能实例化。必须先被继承,再实例化其子类。而且子类的访问控制要和抽象类一样,或者更加宽松。抽象类至少包含一个抽象方法的。
接口
使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
定义的所有方法都必须是public,且方法为空
可以定义常量,但是没有属性
接口的实现(implements)必须实现所有方法,而且可以实现多个接口(注意,方法不能重名)。
接口可以被另外的接口继承 (extends)
[2]php 记录进行累加并显示总时长为秒的结果
来源: 互联网 发布时间: 2013-11-30
现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录:
00:22:32
13:42:21
134:42:21
表示的是时长,但是,保存类型是文本。
现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果?
//连接数据库... 略
$total = 0; //总秒数
$sql = "select duration from test";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
$arr=explode(":",$row[duration]);
$h = $arr[0]*60*60;
$m = $arr[1]*60;
$s = $arr[2];
$total = $h+$m+$s;
}
echo $total;
这里主要是查询出数据,然后使用explode函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。
00:22:32
13:42:21
134:42:21
表示的是时长,但是,保存类型是文本。
现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果?
代码如下:
//连接数据库... 略
$total = 0; //总秒数
$sql = "select duration from test";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
$arr=explode(":",$row[duration]);
$h = $arr[0]*60*60;
$m = $arr[1]*60;
$s = $arr[2];
$total = $h+$m+$s;
}
echo $total;
这里主要是查询出数据,然后使用explode函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。
[3]php 按指定元素值去除数组元素的实现方法
来源: 互联网 发布时间: 2013-11-30
按指定元素值去除数组元素
<?php
//去除值为"Cat"的元素
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r($a);
unset($a[array_search("Cat",$a)]);//array_search("Cat",$a)按元素值返回键名。去除后保持索引
print_r($a);
?>
查看array_search用法
显示结果
去除前:
Array
(
[a] => Dog
[b] => Cat
[c] => Horse
)
去除后:
Array
(
[a] => Dog
[c] => Horse
)
代码如下:
<?php
//去除值为"Cat"的元素
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r($a);
unset($a[array_search("Cat",$a)]);//array_search("Cat",$a)按元素值返回键名。去除后保持索引
print_r($a);
?>
查看array_search用法
显示结果
去除前:
Array
(
[a] => Dog
[b] => Cat
[c] => Horse
)
去除后:
Array
(
[a] => Dog
[c] => Horse
)
最新技术文章: