记录一些PHP基础学习的容易被忽略的知识点
(一)对于任何简单类型的变量,都可以将变量写入到一个由双引号引起来的字符串,如
echo "$tireqty tires
";
在双引号中,变量名称将被变量值所替代。而在单引号中,变量名称,或者任何其他文本都会不经修改而发送给浏览器。
(二)heredoc语法,用来指定字符串,通过指定一个用来结束字符串的结束标记,Heredoc语法允许指定长字符串。
echo <<
line 1
line 2
line 3
theEnd
theEnd标记非常模糊,它只需要保证不会出现在文本中,要关闭一个heredoc字符串,可以再每一行的开始处放置一个关闭标记。
Heredoc字符串是插补的,就像双引号字符串。
(3)PHP标识符是区分大小写的,而函数名称可以使任意大小写的。
(4)PHP有两个特殊的类型:NULL和resource。特定的内置函数(例如数据库函数)将返回resource类型的变量。它们都代表外部资源(例如数据库连接)。基本上不能直接操作一个resource变量,但是通常它们都被函数返回,而且必须作为参数传递给其他函数。
(5)声明和使用常量,define('TIREPRICE', 100); 常量一旦被设定,在脚本的其他地方就不能再更改。为了使代码变得更容易阅读和维护,常量名称都是由大写字母组成的。
常量和变量之前的一个重要的不同点在于引用一个常量的时候,它没有前面并没有$符号。
常量和变量的另一个差异在于常量只可以保存布尔值、整数、浮点数或字符串数据。这些类型都是标量数据。
(6)错误抑制操作符@可以在任何表达式前面使用,即任何有值得或者可以计算出值得表达式之前,例如 $a= @( 57 / 0 );
如果没有@操作符,这一行代码将产生一个除0警告。使用这个操作符,这个警告就会被抑制住。如果通过这种方法抑制了一些警告,一旦遇到一个警告,就要写一些错误处理代码。
(7)执行操作符实际上是一对操作符,它是一对反向单引号(``) 反向单引号之间的命令当做服务器端的命令行来执行。表达式的值就是命令的执行结果。
例如,在类似于UNIX的操作系统,可以使用:$out = `ls -la`; 在windows服务器上,可以使用:$out = `dir c:`
这两个版本都会得到一个目录列表并且将该列表保存在$out中。
(8)类型操作符instanceof。允许检查一个对象是否是特定类的实例。例如:
class sampleClass { };
$myObject = new sampleClass();
if ($myObject instanceof sampleClass)
{
echo "myObject is an instance of sampleClass";
}
(9)print 和 echo都不是真正的函数,但是可以用带有参数的函数形式进行调用,二者都可以当做一个操作符:只要将要显示的字符串放置在echo或print关键字之后。
print要比echo的速度慢。
(10)一些测试函数:
gettype(mixed var); 返回一个包含类型名称的字符串:bool、int、double(对于浮点型)、string、array、object和resource。如果变量类型不死标准类型之一,该函数就会返回“unknown type”。
settype($a , 'double');
is_array() //检查变量是否是数组
is_double()、is_float()、is_real() //检查变量是否是浮点数
is_long()、is_int()、is_integer() //检查变量是否是整数。
is_string() //检查变量是否是字符串
is_bool() //检查变量是否是布尔值。
is_object() //检查变量是否是一个对象
is_resource() //检查变量是否是一个资源
is_null() //检查变量是否为null
is_scalar() //检查该变量时否是标量,即,一个整数、布尔值、字符串或浮点数。
is_numeric() //检查该变量是否是任何类型的数字或数字字符串。
is_callable() //检查该变量是否是有效的函数名称。
isset() //检查变量是否存在
unset() // 销毁一个变量
empty() //检查一个变量是否存在,以及它的值是否为非空和非0,相应的返回值为true或false。
(11)变量的重解释
int intval(mixed var [, int base]); 允许在要转换的变量为字符串时指定转换的进制基数。(这样,就可以将十六进制的字符串转换为整数)。
float floatval(mixed var);
string strval(mixed var);
(12)当switch语句中的特定case被匹配时,PHP将执行该case下的代码,直到遇到break语句。如果没有break语句switch将执行这个case以下所有值为true的case中的代码。当遇到一个break语句时,才会执行switch后面的语句。