词法结构:
同内置结构和关键字一样,自定义的类名和函数名也是不区分大小写的。
echo("hello,world")
Echo("hello,world")
EcHo("hello,world") 是一样的。
变量名区分大小写,$name,$Name,$NaMe 是三个不同的变量。
PHP用分号来分割简单语句,在右括号后面不要求用分号:
if(1){ echo "hello,world" ; //这里要求有分号
} //这里不要求有分号
PHP结束标签前的分号是可选的:
<?php
echo "hello,world" //在结束标签前不要求有分号
>
可以采用C语言的形式注释代码: // /* */
标识符常用语给变量、函数、常量命名,标识符的第一个字符只能是ASSII字母
(大写或小写)、下划线或任何一个在ASSII 0x7F和ASSII 0xFF之间的字符,
在首字符后这些字符和数字都是合法的。如: $3wa $| 都是非法的。
变量名总是以$开头且区分大小写,不需要声明数据类型(弱类型)。
函数名和类名不区分大小写,类名stdClass被保留。
只有标量(布尔,整形,双精度型和字符串型)值可以作为常量,一旦设定,
常量的值就不能更改,用函数define(name,value,true or false)设置。
true代表对变量名到小写不敏感,false代表敏感。
数据类型:四种标量(整形、浮点型、字符串、布尔),两种复合类型(数组
和对象),两种特殊类型(resource 和 NULL)
用array()创建数组用foreach()来遍历。sort(),asort()排序。
类是包含属性(变量)和方法(函数)的结构定义:
class Person {
var $name = '';
function name($newname = Null){
if (! is_null(newname)){
$this->name = $newname;
}
return $this->newname;
}
}
$ed = new Person; //创建Person对象
$ed->name('weison');
printf("hello,$s\n",$ed->name);
变量的作用域可以分为:全局、局部、静态和函数的参数。
在一个函数内声明的变量在函数内可见。
函数外声明的变量是全局变量,但默认情况下不能在函数中访问
全局变量,可以在函数中使用关键词global来声明该变量在函数
的内部。
静态变量在两次调用函数之间保持它的值,但是仅在函数内部可见。
function update_counter(){
static $counter = 0;
$conuter++;
echo $counter;
}
update_counter(); //1
update_counter(); //2
操作符:. 字符串拼接, .= 字符串拼接复制 与 += -= *= 相同。
数据类型转换操作符: (int) (float) (string) (bool) (array) (object)
$a = "5";
$b = (int) $a;