目录
1,标记风格
一般采取XML风格标记
<?php
echo"hello world";
?>
2,注释应用
- 单行注释 (//)
<?php
//这是单行注释
echo"hello world";
?>
- 多行注释(/**/)
<?php
/*
hello
这是多行注释
*/
echo"hello world";
?>
- #注释
<?php
#这是#风格注释
echo"hello world";
?>
3,数据类型
<共8种原始类型-->4种标量类型,2种复合类型,2种特殊类型>
1,标量数据类型<只能存储一个数据>
- 布尔型(boolean):只有true和false两值。想声明布尔变量,只用将true或false赋值给任意个变量。
- 字符串型(string):1)每个字符占用一个字节。 2) 三种定义字符串方式:(' '),(" "),(<<<)
<?php $i='只会看到一遍'; echo"$i"; #双引号输出实际值,即 :只会看到一遍 echo'$i'; #单引号输出里面的字符串,即 :$i ?>
<?php
$i='只会看到一遍';
#里面内容不用;隔开。
#注释不要放在echo的后面或里面
echo<<<std
'<p>
$i
std;
#最后不要忘记分号
#<<<会像双引号一样将实际内容输出,而不是普通字符串
#里面不用转义字符转义,很方便
?>
3) 转义字符“\”的使用
\n \t \r(回车) \\ \$ \' \" \[0-7]{1,3} (八进制) \x[0-9A-Fa-f]{1,2}(十六进制)
-
整形(integer):4个字节
<?php
$str1=1234567890;#十进制
$str2=0x1234567890;#十六进制
$str3=0123456789; #八进制出现8或9,后面数字自动忽略
$str4=01234567;
echo'数字1234567890的不同输出结果:<p>';
echo'十进制结果是'.$str1.'<br>';#.起到了连接作用,是多个字符串组合
echo'八进制结果是:';
if ($str3==$str4){
#if与c一样
echo'$str3=$str4='.$str3;
}
else{
echo'$str3!=$str4';
}
?>
- 浮点型(float/double) :8个字节,表示小数或者整型存不下的整数(可用小数或者科学计数法表示)
<?php
echo'圆周率三种书写方法:<p>';
echo'pi=',pi(),'<br>';
echo '314159265359E-11=',314159265359E-11,'<br>';#若是有小数点,可用“ ,”连接各个数据类型
echo '3.1415926=',3.1415926,'<br>';
?>
圆周率三种书写方法:
pi=3.1415926535898
314159265359E-11=3.14159265359
3.1415926=3.1415926
2,复合数据类型
- 数组(array):写数组前必须有array来声明,存放多个数据
<?php
$a=array('this','is','an','example');#'',隔开每个值
$b=array(0=>'php',1=>'is',2=>'the',3=>'best');#索引=>值
$c[0]='tmpname';
?>
- 对象(object) :存放对象
3,特殊数据类型
- 资源类型(resourse):存放外部资源
- 空值(null):被赋予空值的三种情况 1->没被赋任何值。2->被赋值null。3->被unset()函数处理过。
<?php
echo'变量($string1)直接被赋值Null:';
$string1=null;
if(!isset($string1))#isset()函数检测变量是否已经设置并且非NULL,前面!表示此变量为空值
echo'<p>string1111=null';
#不对string2赋值
if(!isset($string2))
echo'<p>string2222=null';
$string='str';
unset($string3);#unset()用来销毁指定变量
if(!isset($string3))
echo'<p>string3333=null';
?>
变量($string1)直接被赋值Null:
string1111=null
string2222=null
string3333=null
4,数据类型转换
- 变量前加上用括号括起来的类型名:(boolean)$num
- 字符型以数字开头转换成整型取到非数字位,否则输出0
<?php
$num='3.14r';
echo (integer)$num;#数值不用双引单引
echo'<P>'.$num;#转换后数值本身未发生改变
echo '<p>';
echo settype($num,'integer');#settype(指定变量,'指定类型')
#但是并不返回转换值,返回1表示转换成功,返回0表示转换不成功
echo '<p>';
echo $num;#settype直接改变原变量的值
?>
5,检测数据类型(is系列函数:is_数据类型)
<符合返回1,不符合返回0>
- is_bool($a)
- is_numeric($b)检查变量是否为数字或由数字组成的字符串
<?php $boo='1234'; if(is_numeric($boo)) echo'YES'; else echo'NO'; ?>
4,常量
1,声明和使用常量
- define=(),constant(),defined().
<?php
define('MESSAGE','我是一名程序员',true);#define('常量名称','常量的值',true(大小写不敏感)/false(默认值,大小写敏感)) 调用常量名称输出的是常量的值
echo message.'<br>';#常量直接调用
echo MESSAGE.'<br>';
$name="count";#双引号调用的是实际值
echo constant($name)."<br>";#使用效果与define一致,但更灵活
echo (defined('MESSAGE')).'<br>';#defined()判断函数是否被定义,被定义返回1,不被定义返回0
?>
2,预定义常量
<?php
echo '当前文件的途径:'.__FILE__;#__FINE__是两条下划线,不是一条
echo '<br>当前行数:'.__LINE__;
?>
- __DIR__:当前被执行的脚本所在电脑的绝对路径
- __FILE__: 当前被执行的脚本所在电脑的绝对路径(带自己文件的名字)
- __LINE__:当前所属函数
- __NAMESPACE__:当前所属命名空间
- __CLASS__:当前所属的类
- __METHOD__:当前所属的方法
5,常量
1,变量的声明及使用<变量赋值>
- 直接赋值
- 变量间的赋值 $string1=$string2
- 引用赋值 & <引用:用不同的名字访问同一个变量的内容,改变其中一个变量时,另一个也跟着变化。>
<?php
$a='asd';
$b=&$a;
$a='<br>aaa';
echo $a;
echo $b;
?>#引用赋值不改变内容,改变的是内容的名字
2,变量作用域
-
局部变量与全局变量
<?php
$a='在函数外'; #声明全局变量
function example(){ #用funchtion定义函数,funchtion后面跟着函数名字
$b='在函数内'; #声明局部变量
echo "在函数内输出内容是:$b";
}
example();#调用函数
echo "<br>在函数外输出内容是:$a";
?>
<用户想在自定义函数内部使用全局变量,可用global声明>
?php
$a='在函数外';
function example(){ #用funchtion定义函数,funchtion后面跟着函数名字
global $a;
echo "<br>$a";
}
example();#调用函数
?>
- 静态变量 (用static关键字声明)
<对比静态变量和普通变量区别>
<?php
function temp1(){
static $a=0; #初始化静态变量
$a+=1;
echo $a.' ';#a是具体值就不用加引号了
}
function temp2(){
$a=0;
$a+=1;
echo $a.' ';
}
for($i=0;$i<10;$i++)
temp1();
echo '<br>';
for($i=0;$i<10;$i++)
temp2();
?>
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1
普通变量每循环一次都要被初始化成赋值的0,而静态变量只有第一次被初始化
3,可变变量
如果一个变量保存的值刚好是另外一个变量的名字,那么可以通过访问一个变量得到另一个变量的值:在变量面前多加一个$符号
$a='b';
$b='c';
echo $$a; //$$a相当于$b就是c
4,预定义变量
添加一些书上没有的:
- $_FILE:用户上传的文件信息
- $_ENV:环境信息
- $_SERVER: 服务器信息
注: 1,所有变量都是以$开头,声明变量或调用变量都用$
2,//你好呀?> 单行注释出现?>表示注释结束
3, 0,0.0,“0”,空白字符串(“”),只声明没赋值的数组...均为假
4,定义字符串尽量使用‘’. 即echo' '
5,常量一般是大写,变量一般是小写
6,,变量名由字母数字下划线组成,开头不能是数字或其他字符