PHP autoload机制详解
autoload机制概述
在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子: 阅读全文…
autoload机制概述
在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这 也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例 子: 阅读全文…
PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。
Note: 如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。 阅读全文…
今天帮同事搞一个问题,在一个含有N个元素的数组中取出M个元素组成新的数组,一共可以组合成的数组并输出。
<?php
$arr = array(‘a’, ‘b’, ‘c’, ‘d’);
$t = getCombinationToString($arr, 3);
print_r($t);
function getCombinationToString($arr,$m)
{
$result = array();
if ($m ==1)
{
return $arr;
}
if ($m == count($arr))
{
$result[] = implode(‘,’ , $arr);
return $result;
}
$temp_firstelement = $arr[0];
unset($arr[0]);
$arr = array_values($arr);
$temp_list1 = getCombinationToString($arr, ($m-1));
foreach ($temp_list1 as $s)
{
$s = $temp_firstelement.’,’.$s;
$result[] = $s;
}
unset($temp_list1);
$temp_list2 = getCombinationToString($arr, $m);
foreach ($temp_list2 as $s)
{
$result[] = $s;
}
unset($temp_list2);
return $result;
}
?>
str_replace() 函数使用一个字符串替换字符串中的另一些字符。
str_replace(find,replace,string,count)
| 参数 | 描述 |
|---|---|
| find | 必需。规定要查找的值。 |
| replace | 必需。规定替换 find 中的值的值。 |
| string | 必需。规定被搜索的字符串。 |
| count | 可选。一个变量,对替换数进行计数。 |
注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。 阅读全文…
从表面上看,很容易误解empty()函数是判断字符 串是否为空的函数,其实并不是。
empty()函数是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。
如: 假设 $value = 0; 则empty($value)=false。
劝告各位,千万注意使用empty()函数。
判断字符串是否为空,可以这么判断: if ($value==”") …
* 格式:bool empty ( mixed var )
* 功能:检查一个变量是否为空
* 返回值:
* 若变量不存在则返回 TRUE
* 若变量存在且其值为”"、0、”0″、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 TURE
* 若变量存在且值不为”"、0、”0″、NULL、、FALSE、 array()、var $var; 以及没有任何属性的对象,则返回 FALSE
mysql_fetch_row() 函数从结果集中取得一行作为数字数组。
mysql_fetch_row(data)
| 参数 | 描述 |
|---|---|
| data | 必需。要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。 |
mysql_fetch_row() 从和结果标识 data 关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。
返回根据所取得的行生成的数组,如果没有更多行则返回 false。 阅读全文…
array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
array_key_exists(key,array)
| 参数 | 描述 |
|---|---|
| key | 必需。规定键名。 |
| array | 必需。规定输入的数组。 |
<?php
$a=array("a"=>"Dog","b"=>"Cat");
if (array_key_exists("a",$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
?>
输出:
Key exists! 阅读全文...
mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。
如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0。
mysql_insert_id(connection)
| 参数 | 描述 |
|---|---|
| connection | 可选。规定 MySQL 连接。如果未规定,则使用上一个连接。 阅读全文… |
现在发现其实小学学的很多寓言故事都是非常有哲理的,每个人都知道它的道理,但是很少有人可以深刻理解并运用它。
比如一个成语:滴水石穿
故事很简单,看似小小的水滴,滴在坚硬的石头上,日复一日年复一年,终究在一天,石头被这小小的几乎没有“硬度”的水珠给打穿了。
坚持:生活中坚持的品质真的非常非常重要。
一份成功的事业需要从每天点点滴滴做起,并日复一日年复一年坚持下来,直到达到自己想要的成功。
再大的困难,当我们坚持一下下,或许就迈过去了挺过来了。
看似几乎难以完成的项目,只要从0开始,做好每一步,我想这就已经在接近成功了。
exit() 函数输出一条消息,并退出当前脚本。
该函数是 die() 函数的别名。
exit(status)
| 参数 | 描述 |
|---|---|
| status | 必需。规定在退出脚本之前写入的消息或状态号。状态号不会被写入输出。 |
如果 status 是字符串,则该函数会在退出前输出字符串。
如果 status 是整数,这个值会被用作退出状态。退出状态的值在 0 至 254 之间。退出状态 255 由 PHP 保留,不会被使用。状态 0 用于成功地终止程序。
注释:如果 PHP 的版本号大于等于 4.2.0,那么在 status 是整数的情况下,不会输出该参数。
<?php
$site = "http://www.w3school.com.cn/";
fopen($site,"r")
or exit("Unable to connect to $site");
?>