1. "var_dump"函数可以将我们的变量的数据类型显示出来
2. “memory_get_usage”获取当前PHP消耗的内存
5. unset()
6.
第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。
7. 系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:
(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。
(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。
(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。
(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。
8. mixed constant(string constant_name) // constant()获取常量的值,可以动态的输出不同的常量,在使用上要灵活、方便,但用的比较少。
9. bool defined(string constants_name) //获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false;
10. “=”:把右边表达式的值赋给左边的运算数。
“&”:引用赋值,意味着两个变量都指向同一个数据。
例如:
$a = "我在学习PHP!";
$b = $a;
$c = &$a;
$a = "我天天在学习PHP!";
echo $b;
echo $c;
11. 比较运算符

12. 逻辑运算符

13. foreach循环:
(1)只取值,不取下标
foreach (数组 as 值){ //执行的任务 }
(2)同时取下标和值
foreach (数组 as 下标 => 值){ //执行的任务 }
14. array() 创建一个空数组
15. PHP有两种数组:索引数组、关联数组。
(1)索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。
例如:
$fruit = array('苹果','香蕉');
print_r($fruit['0']); //打印键值为0的值
(2)关联数组是指数组的键是字符串的数组。
16. (1) bool isset ( mixed var [, mixed var [, ...]] ) //检测变量是否设置
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
(2) bool empty ( mixed var ) //检查一个变量是否为空
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
17. str_replace()
18.
function_exists
//判断函数是否存在
method_exists
//检测类的方法是否存在
19.
function __construct() {}
//构造函数
function __destruct() {}
//析构函数
20.
访问控制通过关键字public,protected和private来实现。被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。
21.
(1) 静态属性与方法可以在不实例化类的情况下调用,直接使用
类名::方法名
的方式进行调用。静态属性
不允许对象使用->操作符调用。
(2) 静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
例如:
class Car {
private static $speed = 10;
public static function getSpeed() {
return self::$speed;
}
public static function speedUp() {
return self::$speed+=10;
}
}
class BigCar extends Car {
public static function start() {
parent::speedUp();
}
}
BigCar::start();
echo BigCar::getSpeed();
22.
PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。
(1) 属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。
例如:
class Car {
private $ary = array();
public function __set($key, $val) {
$this->ary[$key] = $val;
}
public function __get($key) {
if (isset($this->ary[$key])) {
return $this->ary[$key];
}
return null;
}
public function __isset($key) {
if (isset($this->ary[$key])) {
return true;
}
return false;
}
public function __unset($key) {
unset($this->ary[$key]);
}
}
$car = new Car();
$car->name = '汽车';
//name属性动态创建并赋值
echo $car->name;
(2) 方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。
例如:
function __call($name, $args)
{
if($name=='overloadFun')
{
switch(count($args))
{
case 0: $this->overloadFun0();break;
case 1: $this->overloadFun1($args[0]); break;
case 2: $this->overloadFun2($args[0], $args[1]); break;
default: //do something
break;
}
}
}
function overloadFun0()
{
// do something
}
function overloadFun1()
{
// do something
}
function overloadFun2()
{
// do something
}
23.
trim去除一个字符串两端空格。
rtrim是去除一个字符串右部空格,其中的r是right的缩写。
ltrim是去除一个字符串左部空格,其中的l是left的缩写。
例如:
echo trim(" 空格 ");
echo rtrim(" 空格 ");
echo ltrim(" 空格 ");
24.
strlen()
//获取字符串长度
mb_strlen() //获取中文字符串长度
例如:
$str = "我爱你";
echo mb_strlen($str,"UTF8");
//结果:3
25.
substr()
//字符串截取函数,substr(字符串变量,开始截取的位置,截取个数)
mb_substr()
//中文字符串截取函数, mb_substr(字符串变量,开始截取的位置,截取个数, 网页编码)
26.
strpos(要处理的字符串, 要定位的字符串, 定位的起始位置[可选])
//字符串查找函数
例如:
$str = 'What is your name?';
$s = strpos($str, 'name');
echo $s;
//结果显示13,说明表示从0开始,name出现在第13位。
27.
str_replace(要查找的字符串, 要替换的字符串, 被搜索的字符串, 替换进行计数[可选]) //字符串替换函数
例如:
$str = 'I Love Chian';
$replace = str_replace('Chian', 'China', $str);
echo $replace;
28.
sprintf(格式,
要转化的字符串)
//字符串格式化函数
例如:
$str = '99.9';
$result = sprintf('.2f', $str);
echo $result;
//结果显示99.90
29.
mixed array_search (mixed $needle , array $haystack [, bool $strict = false])
//查询数组中的指定元素
needle
搜索的值。
Note
如果 needle 是字符串,则比较以区分大小写的方式进行。
haystack
这个数组。
strict
如果可选的第三个参数 strict 为 TRUE,则 array_search() 将在 haystack 中检查完全相同的元素。 这意味着同样检查 haystack 里 needle 的 类型,并且对象需是同一个实例。
返回值是bool,如果找到了该值得键,返回true,否则返回false。
30.
array_pop(arrary)
//获取数组中的最后一个元素
31.
array_push(array, value, value, ……)
//向数组添加元素,会自动添加在数组尾部
32.
array_unique(array)
//删除数组中的重复元素
33.
$_POST和$_GET的区别:
(1)$_GET
$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
(2)$_POST
预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。
从带有 POST 方法的表单发送的信息,对任何人都是不可见的,并且对发送信息的量也没有限制。然而,由于变量不显示在 URL 中,所以无法把页面加入书签。
34.
在HTML中添加PHP脚本的方式:
(1)添加外部PHP
include("PHP文件名");
(2)在HTML文件中直接添加php脚本
(新浪博客里直接添加php代码,会被删除,这里就不写例子了)
35.
URL编码解码
urlencode(string)
//URL编码
urldecode(string)
//URL解码
对URL编码编码主要要解决的问题是:回避参数中携带的特殊字符,以免导致服务端接受数据出错。
详细了解请百度“URL为什么要编码”。
36.
sql_connect(要连接的数据库地址,数据库名,
密码)
返回值:链接成功返回mysql链接标识符,链接失败返回false。
37.
mysql_select_db(要选择的数据库的名称);
//选择数据库
返回值:成功返回true,失败返回false。
38.
mysql_query(sql)
//执行SQL语句,操作数据库
返回值:bool,成功返回true,失败返回false。
39.
mysql_error()
//返回上一个MySQL操作产生的文本信息(返回值)
参数可以为空,也可以写一个MySQL连接标识符连接标识符
40.
mysql_close(mysql连接标识符)
//关闭非持久的MySQL连接
返回值:bool,成功返回true,失败返回false。
mysql_close()这个函数可以不写,因为非持久的MySQL连接在脚本结束时会自动关闭
41.
mysql_query('set names utf8');
//告诉数据库,传入和传出数据一律以UTF-8的编码形式
42.
4fetch函数: mysql_fetch_row()、mysql_fetch_array()、mysql_fetch_assoc()、mysql_fetch_object()
这4个函数的作用均是获取和显示数据。
mysql_fetch_assoc(data) 函数从结果集中取得一行作为关联数组。返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。