PHP入门基础知识(一)
1、 标记风格
<?php
……
?>
2、 注释应用
PHP三种注释风格: //, /*……*/或者#
3、 PHP数据类型
(1) boolean(true,false)
(2) string(结束标识符必须单独另起一行,并且不允许有空格)
(3) integer(十进制、八进制:前面加0,十六进制:前面加0x;如果八进制中出现了非法数字8和9,则后面的数字被忽略)
(4) float
(5) 符合数据类型
array:类型相同的变量集合
object:类的实例,使用new命令创建
(6) 特殊数据类型
resource:句柄,保存到外部资源的一个引用,通过专门的函数来建立和使用
null:不区分大小写;被赋值的三种情况:还没被赋值,被赋值为null,被unset()处理过的变量。unset()是从内存中删除变量的函数
is_null()函数:判断是否为空函数
(7) 转换数据类型
PHP中的数据类型转换和C语言的一样,秩序我在变量前加上括号括起来的类型名称即可。
需要注意的是:转换成boolean型时,null、0、和未赋值的变量或数组会被转换成false,其他为true。
settype()函数亦可实现类型转换(返回true和false或0和1)
(8) 检测数据类型(返回true和false)
is_类型名称():判断变量是否是该类型
4、 PHP常量
(1)define()函数定义常量
define(stringcontent_name, mixed value,case_senstive=true)
分别表示常量名,常量的值,该常量是否对大小写敏感(true表示不敏感,是可选参数,默认为敏感)
获取常量的值有两种方法:(1)一种是使用常量名直接获取,如:
defing(“MESSAGE”,”显示信息”);
echo MESSAGE;
输出结果为:显示信息
(2)另一种是使用constant()函数,效果一样,但函数可以动态的输出不同的常量,其语法格式为:
mixed constant(stringconst_name) const_name为要获取的常量名称,也可以为存储常量名的变量。如:
define(“COUNT”,”显示信息”,true);
$name=”count”;
echo constant($name);
输出结果为:显示信息。
(2)预定义常量
__FILE__:默认常量,PHP程序文件名
__LINE__:默认常量,PHP程序行数
……
注:其中的__是两条_。
5、 PHP变量
(1) 变量声明及使用
变量名称在标识符之前用$,变量名是区分大小写的不能以字母或下划线以外的其他字符开头。
还有两种方式可为变量声明或赋值,一种是变量间的赋值:后两个使用各自的内存,互不干扰。
另一种是引用赋值
<?php
$i="spcn";
$j=&$i;
$i="hello,$i";
echo $j;
echo "<br>";
echo $i;
?>
引用赋值即用不同的名字访问同一个变量的内容,当改变其中一个变量时,另一个也跟着发生变化。
引用值和赋值的区别在于,赋值是讲原来的内容复制下来,开辟新的一个空间来保存,而引用则是给变量的内容在起一个名字。
(2)变量的作用域
局部变量:函数内部;
全局变量:如果在用户在自定义函数内部使用全局变量,则要使用global关键字
静态变量:static;能够在函数调用结束后扔保留变量值,当再次回到其作用域时,又可以继续使用原来的值。
<?php
function zdy(){
static $message=0;
$message+=1;
echo $message."";
}
function zdy1(){
$message=0;
$message+=1;
echo $message."";
}
for ($i=0; $i <10 ; $i++) {
zdy();
}
for ($i=0; $i <10 ; $i++) {
zdy1();
}
?>
结果为:
(3)可变变量:允许动态改变一个变量名称,也就是说变量名可以被动态的命名和使用。通常变量通过下面这样的语句来命名:
代码如下 复制代码
<?php
$a = 'hello';
?>
可变变量名指的是使用一个变量的值作为这个变量的名称。在上面的例子中,通过使用两个$符号,你可以把hello设置成一个变量的名称,就像下面那样。
代码如下
<?php
$$a = 'world';
?>
通过上面的两个语句,有两个变量被定义:变量$a,装的内容是”hello” 以及变量$hello,装的内容是 “world”。 于是,下面的语言:
代码如下
<?php
echo "$a ${$a}";
?>
跟下面的语句的输出完全一致:
代码如下
<?php
echo "$a $hello";
?>
它们都输出:hello world。