2.1 PHP语言基础
2.1.1 PHP文件格式
Helloworld.php
<head>
<title>Hello World!</title>
</head>
<body>
<?php
//输出Hello,World
echo "Hello,World";
?>
</body>
2.1.2 PHP标记
<?php……?>
<?……?>
<script language=”php”>……<script>
<%……%>
<?php echo("第一种书写方法!/n"); ?>
<%
echo("这是ASP的标记输出");
%>
<?
echo("这是PHP的的简写标记输出");
?>
<?php
$expression=1;
if ($expression) {
?>
<strong>这是真的!</strong>
<?php
} else {
?>
<strong>这是假的!</strong>
<?php
}
?>
2.1.3 PHP 文件爱女的访问形式
PHP为服务端执行的语言,必须通过服务器解释才能执行
<head>
<title> Hello World!</title>
</head>
<body>
<b>hello world!</b>
</body>
2.1.4 PHP程序注释
<?php
echo "C++语言注释的方法即 // <br>"; // 采用C++的注释方法
/* 多行注释
对于大段的注释很有用的哦*/
echo "多行注释方法即 /*...*/ <br>";
echo "Unix的注释方法即 #
"; # 使用UNIX Shell语法注释
?>
<?php
/*
echo "不能嵌套使用多行注释符号/n"; / 嵌套使用会出错/
*/
?>
2.1.5 PHP语法概述
类似于C/C++
2.2 PHP的变量
2.2.1 PHP的变量命名
PHP变量名是区分大小写的,和C语言是一致的;
变量名必须是以美元符号($)开始;
变量名开头可以以下划线开始;
变量名不能以数字字符开始。
2.2.2 PHP的数据类型
<?php
$True="我是变量" . True;
echo($True);
echo("<BR>");
echo("我是关键字" . True)
?>
<?php
$int_D=2147483647; //十进制赋值
echo($int_D);
echo("<br>");
$int_H=0x7FFFFFFF; //十六进制赋值
echo($int_H);
echo("<br>");
$int_O=017777777777; //八进制赋值
echo($int_O);
echo("<BR>");
?>
//代码效果参考:http://www.zidongmutanji.com/bxxx/497838.html
<?php
$float_1=90000000000;
echo($float_1);
echo("<br>");
$float_2=9E10;
echo($float_2);
echo("<br>");
$float_3=9E+10;
echo($float_3);
?>
<?
$single_str='我被单引号括起来了!<br>';
echo $single_str;
$single_str='输出单引号:/'嘿嘿,我在单引号里面/'<br>';
echo $single_str;
$single_str='输出双引号:"我在双引号里面"<br>';
print $single_str;
$single_str='输双美元符号:$';
print $single_str;
?>
<?
$Double_str="我被双引号括起来了!<br>";
echo $single_str;
$single_str="输出单引号:'嘿嘿,我在单引号里面'<br>"; //不需要转义符
echo $single_str;
$single_str="输出双引号:/"我在双引号里面/"<br>"; //需要转义符
print $single_str;
$single_str="输出美元符号:/$ <br>"; //需要转义符
print $single_str;
$single_str="输出反斜杠:// <br>"; //需要转义符
print $single_str;
?>
<?
$heredoc_str =<<<heredoc_mark
你好<br>
美元符号 $ <br>
反斜杠 /<br>
"我爱你"<br>
'我恨你'
heredoc_mark;
echo $heredoc_str;
?>
本实例演示字符串中对变量的引用:
<?php
$str_1 = "我是变量的值!";
$str_2 = "str_1 : $str_1<br>"; //双引号字符串中包含变量$str_1
echo $str_2;
$str_1 = '我是变量的值';
$str_2 = 'str_1 : $str_1<br>'; //单引号中包含字符串的值
echo $str_2;
$str_1 = "我是变量的值!";
$str_2 = "str_1 : $str_12 <br>"; //引用的变量名后,多了个字符即$str_12
echo $str_2;
$str_1 = "我是变量的值!";
$str_2 = "str_1 : ${str_1}2 <br>"; //引用的变量名后,多了个字符即$str_12
echo $str_2;
?>
<?php
$a=""; //空字符串
$b = 3.1; //浮点型
$c= TRUE; //布尔型
$d = 2147483647; //整型
$e = 2147483648; //超过整型的范围,自动编程浮点型
$f= 0x80000000 ; //十六进制
$g="hi"; //字符串
$h=array(1,2); //数组
//分别输出类型
echo '$a类型是:';
var_dump($a);
echo '
$b类型是:';
var_dump($b);
echo '
$c类型是:';
var_dump($c);
echo '
$d类型是:';
var_dump($d);
echo '
$e类型是:';
var_dump($e);
echo '
$f类型是:';
var_dump($f);
echo '
$g类型是:';
var_dump($g);
echo '
$h类型是:';
var_dump($h);
?>
<?php
$a=0.1;
$b='hi';
$c=True;
if (is_numeric($a))
echo '$a是数值型<br>';
else
echo '$a不是数值型<br>';
if (is_int($a))
echo '$a是整型<br>';
else
echo '$a不是整型<br>';
if (is_string($b))
echo '$b是字符串型<br>';
else
echo '$b不是字符串型<br>';
if (is_bool($c))
echo '$c是布尔型<br>';
else
echo '$c不是布尔型<br>';
?>
<?php
$a=0.1; //定义变量
$b=0; //0值
$c=""; //空字符串
if (isset($a))
echo '$a已经被定义<br>';
else
echo '$a没有被定义<br>';
if (!empty($a))
echo '$a不为空<br>';
else
echo '$a为空<br>';
if (isset($b))
echo '$b已经被定义<br>';
else
echo '$b没有被定义<br>';
if (!empty($b))
echo '$b不为空<br>';
else
echo '$b为空<br>';
if (isset($c))
echo '$c已经被定义<br>';
else
echo '$c没有被定义<br>';
if (!empty($c))
echo '$a不为空<br>';
else
echo '$a为空<br>';
if (isset($d))
echo '$d已经被定义<br>';
else
echo '$d没有被定义<br>';
if (!empty($d))
echo '$d不为空<br>';
else
echo '$d为空<br>';
?>
2.2.3 数据类型转换
<?php
echo gettype((bool) "") . "<br>"; // bool(false)
echo gettype((bool) 1) . "<br>"; // bool(true)
echo gettype((bool) -2) . "<br>"; // bool(true)
echo gettype((bool) "foo") . "<br>"; // bool(true)
echo gettype((bool) 2.3e5) . "<br>"; // bool(true)
echo gettype((bool) array(12)) . "<br>"; // bool(true)
echo gettype((bool) array()) . "<br>"; // bool(false)
?>
<?php
$a=123456;
$b=123.456;
$c=-1.3e8;
//通过echo函数输出时,自动转换成
echo $a . "abc
";
echo $b ."cde
";
echo $c . "abc
";
//字符串转换成数值
$foo = 1 + "10.5";
echo $foo . "
";
$foo = 1 + "-1.3e3";
echo $foo ."
";
$foo = 1 + "bob-1.3e3";
echo $foo ."
";
$foo = 1 + "bob3";
echo $foo ."
";
$foo = 1 + "10 Small Pigs";
echo $foo ."
";
$foo = 4 + "10.2 Little Piggies";
echo $foo ."
";
$foo = "10.0 pigs " + 1;
echo $foo ."
";
$foo = "10.0 pigs " + 1.0;
echo $foo ."
";
$foo = 1 + "010";
echo $foo ."
";
$foo = 1 + "0x10";
echo $foo ."
";
$foo = 1 + "/x10";
echo $foo ."
";
$bar = 1 + "/x35"; //0x35 is ASCII for '5'
echo $foo ."
";
$foo = 1 + "0x/x41/x31"; //0x41 is ASCII 'A'; 0x31 is '1'
echo $foo ."
";
?>
2.2.4 PHP中的预订义变量
<?php
echo '提交方法为:'. $REQUEST_METHOD;
echo '
网络协议为:' .$SERVER_PROTOCOL;
?>
<?php
echo '主机名称:'.$HTTP_SERVER_VARS['HTTP_HOST'];
echo '
服务器根路径:'.$HTTP_SERVER_VARS['DOCUMENT_ROOT'];
?>
<?php
echo '当前执行脚本文件:'.$_SERVER['PHP_SELF'];
echo '
当前执行脚本文件绝对路径:'.$_SERVER['SCRIPT_FILENAME'];
?>
2.2.5 变量的引用
<?php
$myName="little";
$YourName=&$myName; //引用变量
$myName="littlePig<br>";
print($YourName);
$YourName="littleCat<br>";
print($myName);
?>
2.2.6 变量的变量
<?php
$myStr="myName"; //设定变量
$$myStr="Marry"; //设定变量的变量即$$myStr
echo $myStr; //输出变量
echo "<br>";
echo $$myStr; //输出变量的变量
echo "
";
echo $myName; //直接输出$myName和使用$$mystr结果一样
//代码效果参考:http://www.zidongmutanji.com/zsjx/121657.html
echo "<br>";
$myStr="yourName";
if (!isset($$myStr))
echo '$$myStr变量不存在呢';
?>
2.2.7 常量
<?php
define("CONSTANT", "Hello world/n");
echo CONSTANT . "<BR>"; // 输出"Hello world."
echo Constant . "<BR>"; // 输出"Constant" ,表示没有该常量
define("GREETING", "Hello you/n", true);
echo GREETING. "<BR>"; // 输出"Hello you."
echo Greeting. "<BR>"; // 输出"Hello you.",因为设定大小写不敏感
define("MAXSIZE", "100/n");
echo MAXSIZE; //输出
echo constant("MAXSIZE"). "<BR>"; // 输出
echo(defined("ONE")). "<BR>";
define("ONE","Hello,One");
echo(defined("ONE")). "<BR>"; //如果定义返回True,使用echo输出显示
?>
<?php
echo "程序当前行:". LINE;
echo "
操作系统:".PHP_OS;
echo "
PHP版本:" .PHP_VERSION
?>
2.3 PHP的运算符
2.3.1 算术运算符
<?php
$ONE= 1;
$TWO= 2;
$TREE= 3;
echo $ONE+$TWO . "<br>"; //加
echo $ONE-$TWO . "<br>"; //减
echo $ONE*$TWO . "<br>"; //乘
echo $ONE/$TWO . "<br>"; //除
echo $TREE%$TWO. "<br>"; //取余数
?>
2.3.2 赋值运算符
<?php
$a= 2;
$a +=3; //$a=$a+3,值为
echo $a . "<br>";
$a -=3; //$a=$a-3,值为
echo $a . "<br>";
$a *=3; //$a=$a*3,值为
echo $a . "<br>";
$a /=3; //$a=$a/3,值为
echo $a . "<br>";
?>
2.3.3 位运算符
<?php
$a= 7;
$b= 14;
$myVal= $a & $b; //位与
echo $myVal. "<br>";
$myVal=$a | $b; //位或
echo $myVal. "<br>";
$myVal= $a ^ $b; //位异或
echo $myVal. "<br>";
$myVal= ~$a; //为取反
echo $myVal. "<br>";
?>
2.3.4 三元运算符
2.3.5 比较运算符
<?php
echo("10小于吗:" . ((10<10)?"True":"False") . "<br>");
echo("10小于等于吗:" . ((10<=10)?"True":"False") . "<br>");
echo("10大于吗:" . ((10>10)?"True":"False") . "<br>");
echo("10大于等于吗:" . ((10>=10)?"True":"False") . "<br>");
echo("10等于吗:" . ((10==10)?"True":"False") . "<br>");
echo("10不等于吗:" . ((10!=10)?"True":"False") . "<br>");
?>
2.3.6 字符串运算符
<?php
$a="Hello ";
$b="World";
$ab=$a . $b ."<br>"; //字符串连接符号.
echo $ab;
$a="some";
$a .="thing" . "<BR>"; //赋值运算符.=
echo $a;
$a="24 five 6" + 6;
echo $a . "<BR>";
$a="24five 6" + 6;
echo $a . "<BR>";
$a="five 6" + 6;
echo $a . "<BR>";
$a="24 five" . 6;
echo $a . "<BR>";
$a="24five" . 6;
echo $a . "<BR>";
?>
2.3.7 递增和递减运算符
<?php
$a=20;
echo "a++:" . $a++ ."<br>"; //后加
echo "变量a的新值:" . $a ."<br>";
$a=20; //重新赋值
echo "++a:" . ++$a ."<br>"; //先加
echo "变量a的新值:" . $a ."<br>";
$a=20; //重新赋值
echo "a--:" . $a-- ."<br>"; //后减
echo "变量a的新值:" . $a ."<br>";
$a=20; //重新赋值
echo "--a:" . --$a ."<br>"; //先减
echo "变量a的新值:" . $a ."<br>";
?>
2.3.8 逻辑运算符
2.3.9 运算符优先级
2.4 表达式