PHP基础语法
1. PHP的类型
PHP有八大类型:
四种标量类型:布尔型(boolean)、整型integer、浮点型(float)、字符串(string)
两种符合型:数组(array)、对象(object)
两种特殊类型:资源(resource)、NULL
2. PHP的输出语句:
echo:
echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号。不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误。而且echo是返回void的,并不返回值,所以不能使用它来赋值。
<?php
$a = echo("xshell"); // 错误!不能用来赋值
echo "xshell"; // xshell
echo ("xshell"); // xshell
echo ("xshell","net"); //发生错误,有括号不能传递多个参数
echo "xshell"," net"," is", " web"; // 不用括号的时候可以用逗号隔开多个值, 会输出 xshell net is web
echo "xshell is
good
web."; // 不管是否换行,最终显示都是为一行 xshell is good web.
echo "$fistname net"; // 如果 $firstname = "xshell", 则会输出 xshell net.
echo '$firstname net'; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname net
?>
print:
print() 和 echo() 用法一样,但是echo速度会比print快一点点。实际上它也不是一个函数,因此您无需对其使用括号。不过,如果您希望向print() 传递一个以上的参数,那么使用括号会发生解析错误。注意print总是返回1的,这个和echo不一样,也就是可以使用print来赋值,不过没有实际意义。
<?php
$a = print("xshell"); // 这个是允许的
echo $a; // $a的值是1
?>
print_r:
print_ r 函数打印关于变量的易于理解的信息。
语法:mixed print_r ( mixed $expression [, bool return ] )
如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式。对于object对象类同。print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE。
<?php
$a="xshell";
$c = print_r($a);
echo $c; // $c的值是TRUE
$c = print_r($a, ture);
echo $c; // $c的值是字符串xshell
?>
var_dump
功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。
<?php
$a=100;
var_dump($a); //int(100)
$a=100.356;
var_dump($a); //float(100.356)
?>
布尔类型:
<?php
header('Content-type:text/html;chatset:utf-8');
$bool = TRUE;
$str = 'string';
$int = 12;
$flo = 12.6666;
var_dump($bool);
var_dump($str);
var_dump($int);
var_dump($flo);
/*
php是弱类型检查的语言,变量和常量的数据类型由程序的上下文决定
不需要程序员定义变量的类型
php中支持八种原始类型
四种标量类型 boolean(布尔型) integer(整型) float(浮点型 也称
double) string(字符串)
两种复合类型 array(数组) object(对象)
两种特殊类型 resource(资源) NULL
*/
//php会将任何类型的值转换为布尔类型
// 整型值0 浮点值0.0 空白字符串和字符串"0" 没有成员变量的数组
// 和特殊类型NULL
var_dump((boolean) "");//false
var_dump((boolean) 0.0);//false
var_dump((boolean) 0);//false
var_dump((boolean) "000");//true
var_dump((boolean) "0");//false
var_dump((boolean) array());//fasle
var_dump((boolean) array(0));//true
var_dump((boolean) NUlL);//fasle
?>
字符串:
PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。
<?php
$name="string";
echo " 字符串".'$name';//字符串$name
echo "字符串"."$name"; //字符串string
?>
转移字符
转义字符,顾名思义会将规定的语法用”\”来输出。但语法规定在不同的系统中转义字符的作用不同,例如:windows下的回车换行符用”\r”或”\n”,而Linux 这两就有很大的区别:”\r”光标回到行首,但还在本行; “\n”表示下一行,不会回到行首。
PHP中的转义字符有:
" \n" ==>换行
"\r"==>回车
"\t"==>水平制表符
"\\"==> 反斜杠
"\$" ==>美元符号
" \' "==>单引号
" \" " ==>双引号
" \[0-7]{1,3} " 正则表达式匹配一个八进制符号表示的字符
" \x[0-9A-Fa-f]{1,2} " 正则表达式匹配一个十六进制符号表示的字符
在PHP中,理解单引号与双引号有什么区别是重要的。当所发送的数据中涉及到单引号和双引号时,在打印双引号时使用单引号,反之亦然,如:
echo 'She said,"How are you?"';
print "I'm just ducky.";
或者,通过在有问题的字符前面放置一个反斜杠,对它进行转义:
echo "She said,\"How are you?\" ";
print 'I\'m just ducky.';
转义字符代码 转义字符的含义
\ " 双引号
\ ' 单引号
\ \ 反斜杠
\ n 换行符
\ r 回车符
\ t 制表符
\ $ 美元符号
提示:
由于PHP将试图找出那些需要将其值插入到双引号内的变量,所以从理论上讲,使用单引号要快一些。但是,如果需要打印一个变量的值,则必须使用双引号。
因为有效的HTML常常包括许多用双引号括住的属性,所以当利用PHP打印HTML时,使用单引号最容易。
echo ‘
’;如果想使用双引号打印出上面这段HTML代码,将不得不对字符串中的所有双引号进行转义,所以相对来说较麻烦。
变量的引用赋值
变量的引用赋值
<?php
//变量的引用赋值
//
$foo = 'Bob';
$bar = &$foo;//&连接符在这里 很关键的
/*
在上面的代码中 并不是将变量$foo 的值符给变量&bar 而是将
$foo的引用赋值给了 $bar ,这时 相当于 $foo 和$bar 同时指向
了 Bob 这个值,当其中一个改变时 所有的都将改变
*/
$bar = "My name is Tom";
echo "$foo";
echo "$bar";
?>
可变变量
<?php
//可变变量 可以在变量的基础上面再次对其进行定义
$h1 = "hello";//声明一个普通的变量 值为 hello
$$h1="world";//$h1的值是 hello 相当于$hello的值是 world
echo "$h1";
echo "$hello";
?>