2016/10/24
1.php代码放在
<?php //单行注释 /* 多行 注释 */ ?>
2.PHP变量
变量以 $ 符号开始,后面跟着变量的名称。
变量名必须以字母或者下划线字符开始。
变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )。
变量名不能包含空格。
变量名是区分大小写的($y 和 $Y 是两个不同的变量)。
3.PHP变量作用域
分为四种,local,global,static,parameter。
在函数内访问全局变量需要加 global 关键字!!不然是无法访问全局变量的。
static:当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字。
4.PHP echo 和 print 语句
echo
和 print
区别:
echo
- 可以输出一个或多个字符串
print
- 只允许输出一个字符串,返回值总为 1
提示: echo
输出的速度比 print
快, echo
没有返回值,print
有返回值1。
5.PHP数据类型
字符串;
整数,可以包含负数,包含八进制、十进制、十六进制;
浮点型,带小数或指数形式;
布尔型;
数组;
对象;
NULL;
6.常量是全局的。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
常量定义使用define()
函数:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
?>```
name:必选参数,常量名称,即标志符。
value:必选参数,常量的值。
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
###7.字符串操作符
####7.1并置运算符"."将两个字符串连接起来。
如:
```<?php
$txt1="Hello world!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>```
####7.2 strlen()返回字符串长度
如:
```<?php
echo strlen("hello world!");
?>```
####7.3 strpos()
`strpos() `函数用于在字符串内查找一个字符或一段指定的文本。
如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
如:
```<?php
echo strpos("Hello world!","world");
?>```
###8.PHP switch
```<?php
switch (n)
{
case label1:
//如果 n=label1,此处代码将执行;
break;
case label2:
//如果 n=label2,此处代码将执行;
break;
default:
//如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>```
###9.PHP数组
####9.1 `count()`可以计算数组长度;
####9.2 可以使用for循环遍历数组:
```<?php
$words = array("a","b","c","d");
for($i=0; $i<count($words); $i++) {
echo $words[$i];
echo "<br>";
}
?>```
####9.3关联数组
```<?php
$age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
/*等价于
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";
*/
echo "Peter is " . $age['Peter'] . " years old.";
?>```
####9.4遍历数组方法汇总
#####9.4.1 `foreach()`
```<?php
$colors = array("red","green","yellow");
foreach ($colors as $color) {
echo "Do you like $color?<br/>";
}
?>```
#####9.4.2 遍历关联数组
```<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>```
###10.PHP数组排序函数
`sort()` - 对数组进行升序排列
`rsort()` - 对数组进行降序排列
`asort()` - 根据关联数组的值,对数组进行升序排列
`ksort() `- 根据关联数组的键,对数组进行升序排列
`arsort()` - 根据关联数组的值,对数组进行降序排列
`krsort() `- 根据关联数组的键,对数组进行降序排列
###11.命名空间
```<html>
<?php
namespace MyProject; // 命名空间前出现了“<html>” 会致命错误 - 命名空间必须是程序脚本的第一条语句
?>
</html>```
###12.面向对象(OOP)
使用extends关键字来继承父类,只能单一继承;
访问控制:
public(公有):公有的类成员可以在任何地方被访问。
protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问。
private(私有):私有的类成员则只能被其定义所在的类访问。
###13.接口
使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
接口中定义的所有方法都必须是公有,这是接口的特性。
要实现一个接口,使用 implements 操作符。类中必须实现接口中定义的所有方法,否则会报一个致命错误。类可以实现多个接口,用逗号来分隔多个接口的名称。