随笔分类 -  [02]PHP

摘要:PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返回 FALSE若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE 版本:PHP 3, PHP 4, PHP 5 更多说明: 使用 unset() 释放变量之后,它将不再是 isset()。 PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。 检 阅读全文
posted @ 2013-08-07 20:25 TBHacker 阅读(343) 评论(0) 推荐(0) 编辑
摘要:最简单的方法就是用fopen(),看看文件能否打开,能打就文件当然就存在。语法:fopen(filename,mode,include_path,context)参数描述filename必需。规定要打开的文件或 URL。mode必需。规定要求到该文件/流的访问类型。可能的值见下表。include_path可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。context可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。mode 参数的可能的值mode说明"r"只读方式打开,将文件指针指向文件头。" 阅读全文
posted @ 2013-07-31 13:22 TBHacker 阅读(4615) 评论(0) 推荐(0) 编辑
摘要:高级特性包括:1.静态方法和属性(通过类而不是对象来访问数据和功能)2.抽象类和接口(设计,实现分离)3.错误处理(异常)4.Final类和方法(限制继承)5.拦截器(自动委托)6.析构方法(对象销毁前的清理工作)7.克隆对象(创建对象的副本)8.把对象解析成字符串PS,学会从内存的角度看代码。想象计算机的微观世界。静态方法的小例子";StaticExample::sayHello();tips:1.静态方法不能访问类中的普通属性,因为那些属性属于一个对象,但可以访问静态属性。2.我们不能再对象中调用静态方法,因此不能再静态方法中使用伪变量$this。静态方法的大例子title = 阅读全文
posted @ 2013-07-15 11:16 TBHacker 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1.php与对象知识点:a.关于引用赋值$other = &$my_obj;//按照引用复制,指向相同对象。例子:";//1$other = &$my_obj;echo $other."";//1$my_obj = 2;echo $other;//2//按照引用复制,指向相同对象。2.类与对象知识点a.类是对象的模板,对象是类实现的实例变量函数对应类中的属性和方法。和函数不同的是,方法必须在类体中声明。$this是伪变量,可以将类指向一个对象实例。b.一个类实例title = $title; $this->producerFirstName 阅读全文
posted @ 2013-07-08 16:58 TBHacker 阅读(356) 评论(0) 推荐(0) 编辑
摘要:nl2br 功能:化换行符为<br><?php$str = "cat isn't \n dog";$result = nl2br($str);echo $result;/**结果cat isn'tdog*/rtrim功能:清除右边的空白<?php$str = "Hello world ";echo strlen($str)."<br>";$result = rtrim($str);echo strlen($result);/**结果1411*/strip_tags功能:清除字符串中h 阅读全文
posted @ 2013-05-29 18:07 TBHacker 阅读(2349) 评论(0) 推荐(1) 编辑
摘要:array_combine功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值案例: 一 [two] => 二 [three] => 三 )*/array_chunk功能:拆分数组成多个数组"apple","b"=>"blue","c","d","e");echo "";print_r... 阅读全文
posted @ 2013-05-23 17:59 TBHacker 阅读(355) 评论(3) 推荐(0) 编辑
摘要:1.准备安装包php (php-5.2.17-Win32-VC6-x86.zip)mysql (mysql-5.5.22-win32.zip)apache (httpd-2.2.22-win32-x86-openssl-0.9.8t.msi)注:其中mysql与apache需要安装,php只需要解压即可2.进行安装先安装apache,然后安装php,然后安装mysql注:其实无所谓谁先谁后,都是独立的。安装完之后,配置一下就可以将它们关联起来了。我安装的时候将各它们安装到一个固定的目录,便于管理。我安装的目录是D:/wamp/3.整合apache,php,mysql a. ... 阅读全文
posted @ 2013-05-08 16:41 TBHacker 阅读(270) 评论(0) 推荐(0) 编辑
摘要:substr()函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。举个例子:<?phpecho mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8');?> 阅读全文
posted @ 2013-03-28 15:57 TBHacker 阅读(322) 评论(0) 推荐(0) 编辑
摘要:$mongodb = new Mongo();//$connection = new Mongo( "$dburl:$port" ); // connect to a remote host (default port)$mydb = $mongodb->mydb; //隐性创建数据库mydb$mydb = $mongodb->selectDB("mydb"); //直接选择已经存在的数据库$collection = $mydb->mycollect; //选择所用文集,如果不存在,自动创建$collection = $db->s 阅读全文
posted @ 2012-10-16 15:06 TBHacker 阅读(1996) 评论(0) 推荐(0) 编辑
摘要:url,[data],[callback],[type]url:发送请求地址。data:待发送 Key/value 参数。callback:发送成功时回调函数。type:返回内容格式,xml, html, script, json, text, _default。1.get与post的区别?(1)GET方式传送数据量小,处理效率高,安全性低,会被缓存,而POST反之。 (2)GET访问浏览器认为是等幂的。就是一个相同的URL,只有一个结果[相同是指整个URL字符串完全匹配]。所以,第二次访问的时候,如果URL字符串没变化,浏览器是直接拿出了第一次访问的结果。POST则认为是一个变动性访问,浏览 阅读全文
posted @ 2012-10-15 13:54 TBHacker 阅读(3471) 评论(0) 推荐(1) 编辑
摘要:url,[data],[callback],[type]url:待载入页面的URL地址。data:待发送 Key/value 参数。callback:载入成功时回调函数。type:返回内容格式,xml, html, script, json, text, _default。案例1表单代码:<form id="form1" action="#"><p>评论:</p> <p>姓名: <input type="text" name="username" id=&quo 阅读全文
posted @ 2012-10-15 11:43 TBHacker 阅读(12160) 评论(2) 推荐(1) 编辑
摘要:<?php /*** Mongodb类** examples: * $mongo = new HMongodb("127.0.0.1:11223"); * $mongo->selectDb("test_db"); * 创建索引 * $mongo->ensureIndex("test_table", array("id"=>1), array('unique'=>true)); * 获取表的记录 * $mongo->count("test_table&qu 阅读全文
posted @ 2012-10-10 16:46 TBHacker 阅读(3447) 评论(0) 推荐(0) 编辑
摘要:<?phperror_reporting(7);$conn = new Mongo();$db = $conn->PHPDataBase;$collection = $db->PHPCollection;/*----------------------------- * 删除 *-----------------------------$collection->remove(array("name" => "xixi111"));*//*------------------------------ * 插入 *------- 阅读全文
posted @ 2012-10-10 16:36 TBHacker 阅读(3424) 评论(0) 推荐(0) 编辑
摘要:在面向对象语言中,接口的多种不同的实现方式即为多态。多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性。多态案例一:class employee{//定义员工父类 protected function working(){//定义员工工作,需要在子类的实现 echo "本方法需要在子类中重载!"; }}class painter extends employee{//定义油漆工类 public function working(){//实现继承的工作方法 ech... 阅读全文
posted @ 2012-08-20 13:24 TBHacker 阅读(2283) 评论(0) 推荐(0) 编辑
摘要:1.接口是一种特殊的抽象类,为什么这么说呢?如果一个抽象类中所有的方法都是抽象方法,那么我们就换一种称呼,称为“接口”。2.另外接口中不能声明变量。3.接口中所有的成员都是public权限的。所有的子类在实现时,也一定要使用public权限去实现。4.声明一个类的时候,我们用关键字“class”,而声明接口的时候,我们用关键字“interface”。<?php//定义一个接口使用interface关键字,“One”为接口名称interface One{ //定义一个常量 const constant = 'constant value'; //定义一个抽象方法fun1 . 阅读全文
posted @ 2012-08-20 11:11 TBHacker 阅读(605) 评论(0) 推荐(0) 编辑
摘要:什么是抽象方法?在类里面定义的没有方法体的方法就是抽象方法,在方法声明的时候没有大括号以及其中的内容,另外在声明抽象方法的时候,还要加上关键字abstract来修饰。例如:abstract function fun1();abstract function fun2();只要类中有一个抽象方法,那么这个类就要定义为抽象类。抽象类也要用abstract来修饰。抽象类中可以有不是抽象的方法和成员属性。但只要有一个抽象方法,这个类就必须定义为抽象类。抽象类怎么用呢?最重要的一点是抽象类,不能产生实例对象!定义抽象类就相当于定义了一种规范!这这种规范要求子类去遵守!子类继承了抽象类之后,把抽象类中的抽 阅读全文
posted @ 2012-08-20 10:23 TBHacker 阅读(335) 评论(0) 推荐(0) 编辑
摘要:我们前面说过在类里面声明“--”开始的方法名的方法,都是在某一时刻不同情况下自动调用执行的方法。“__toString()”方法也是一样自动被调用的。是在直接输出对象引用时自动调用的。<?phpclass TestClass{ public $foo; public function __construct($foo) { $this->foo = $foo; } public function __toString() { return $this->foo; }}$class = new TestClass("Hello");ech... 阅读全文
posted @ 2012-08-17 17:01 TBHacker 阅读(196) 评论(0) 推荐(0) 编辑
摘要:static关键字在类中描述的成员属性和成员函数都是静态的。static成员能限制外部的访问,因为static成员是属于类的,而不是属于任何对象实例。从内存的角度讲,其中对象是放在“堆内存”中,对象的引用是放在“栈内存”中,而静态成员被放在初始化静态段中,在类的第一次加载的时候加入的。可以让对内存中的所有对象所共享。如下图所示:<?phpclass Person{ public static $myCountry = "中国"; public static function say(){ echo "我的祖国是:".self::$myCountry 阅读全文
posted @ 2012-08-17 16:30 TBHacker 阅读(500) 评论(0) 推荐(0) 编辑
摘要:final关键字只能用来定义类和定义方法。使用final关键字标记的类不能被继承final class Person{ .......}class Student extends Person{ .......}会出现错误提示。Fatal error :Class Student may not inherit from final class(Person)使用final关键字标记的方法不能被子类覆盖class Person{ final function Say(){ ...... }}class Student extends Pers... 阅读全文
posted @ 2012-08-16 17:55 TBHacker 阅读(178) 评论(0) 推荐(0) 编辑
摘要:作用:define — 定义一个常量。语法:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )。注意:如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。比如, CONSTANT 和 Constant 代表了不同的值。Note:大小写不敏感的常量以小写的方式储存。案例:<?phpdefine("CONSTANT", "Hello world.");echo CONSTANT; // outputs "Hello worl 阅读全文
posted @ 2012-08-16 11:53 TBHacker 阅读(561) 评论(0) 推荐(0) 编辑