有哪些 不错的PHP代码样例可以参考?
链接:https://www.zhihu.com/question/32040809/answer/2451693888
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
PHP
一门编程语言
运行在服务器端
专门用户开发网站的
脚本后缀名.php
与HTML语言进行混编,脚本后缀依然是.php
解释型语言,不要编译直接运行
PHP运行需要环境:
Windows phpstudy
Linux 单独安装
Web 原理简述
1、打开浏览器
2、输入url
3、显示页面
PHP 基本语法
PHP 语言标记
开始标记 <?php
结束标记 ?>
特点:
1、<?php?>这之间就表示进入PHP模式,在开始和结束处之外的内容都会被PHP解析器忽略
2、可以直接嵌入到html代码中,并且可以嵌入到html代码中的任何地方
3、在一个html文档中可以嵌入任意多个PHP标记
4、文件末尾的PHP代码结束标记可以不要,在一些情况下省略掉更好
指令分隔符 [;]
一个php语句必须(建议)要用分号结束
注释(和C语言类似)
单行注释 //
多行注释 /* */
注意
php代码中注释,不会显示在浏览器的源代码中
php运行环境是服务器,我们浏览器看到的是PHP 引擎运行PHP代码后的执行结果
简单的PHP语句
1、phpinfo();
2、echo 用于输出简单的变量
3、var_dump(); 用于输出变量值及其变量类型
变量
变量的声明
不需要声明变量,但要初始化
初始化
给变量初次赋值,或者变量的默认值
赋值
[=]
根据实验说明:PHP脚本是顺序执行的
引用赋值 $c =&$a
相当于给$a起了一个别名,$c值的改变,$a也随之改变
变量的释放
unset()
变量的命名
@以$符号开头
@严格区分大小写
@字母|数字|下划线,不能以数字开头
$name1
$my_name
$_my_name
$1_name 错误
@尽量不要使用php关键字作为变量名
可变变量
- <?php
2. $name=”hello”;
3. $$name=”world”;
4. echo $name;
5. echo “<br />”;
6. echo $hello;//$$name;
7. ?>
变量的类型
布尔类型 两个 true false,其他均会被认为true
以下所有内容会被当做false
布尔值false
0
浮点型0.0
空白字符串和字符串0
没有成员的数组
NULL
int 存储整数
float 存储小数 3.14
字符串 string
字符串的定义
@ ’ ‘
@ ” “
@ 定界符
注意:
@单引号定义的字符串中出现单引号要转义[\]
@单引号定义的字符串中,[$] 符号原样输出
@双引号定义的字符串中,[$] 是变量的开始,整体变量名用{}括起来
@单双引号定义的字符串中输入的特殊字符包括[‘,”,$…]需要转义
@定界符开始和结束后面不能有任何字符包括空白字符和注释
数组
对象 不讲
常量
不变的量
定义
define(“NAME”,”GGG”);
直接使用即可
预定义常量
常量名 常量值
__FILE__ 当前的文件名
__LINE__ 当前的行数
__FUNCTION__ 当前的函数名
__CLASS__ 当前的类名
__METHOD__ 当前的对象的方法名
PHP_OS UNIX或WINNT等
PHP_VERSION 当前的PHP服务器的版本
DIRECTORY_SEPARATOR \或/ 根据操作系统决定目录的分隔符
运算符
算术运算符(见代码)
逻辑运算
非 !
与 and &&
或 or ||
异或 xor 不同为真,相同为假
与运算的优先级高于或运算。
比较运算
比较参与运算的单元是否相同,相同为真,不同为假
==
===
>
>=
<
4<=
!=
!==
<>
字符串运算符
.
赋值运算符
=
+=
-=
*=
/=
%=
.=
.
其他运算符
?: 三元运算符
$a = 10 > 20 ? 10 : 20
“ 将字符串当作命令执行
@ 屏蔽提示,警告
运算符的优先级

PHP 的语法错误
Error 结束脚本执行
Warr~ 只提示,不影响执行
Notice 只提示,不影响执行
流程控制
顺序执行
PHP代码执行的时候,一次顺序执行
分支执行
单向分支
if(判断条件){执行语句块}
双向分支
if(判断条件){执行语句块1}else{语句块2}
多向分支
elseif
switch
case
default
循环语句
while
当满足条件时,执行
计数器,变量
判断条件
do while
先执行再判断
for
特殊流程控制语句
break; 跳出本层循环
break 2; 跳出两层循环
continue; 跳出本次循环
die()
exit() 结束脚本
源码附执行结果
info.php
- <h1 style=”color:red”>This is info.php!</h1>
2. <?php
3. /*这是一个测试页面
4. 这部分代码是注释*/
5. phpinfo();//这是php探针
6. ?>
7. This is the end of info.php!

war.php
1. <?php
2. echo “This is var.php”;
3. echo “<hr />”;
4. echo “<span style=’color:red;background:blue’>123</span>”;
5. ?>
6. <hr />
7. <?php
8. echo $name;
9. $name=”ggg”;
10. echo “<hr />”;
11. echo $name;
12. echo “<br />”;
13. unset($name);//释放变量
14. echo $name;
15. ?>

$$.php
1. <?php
2. $name=”hello”;
3. $$name=”world”;
4. echo $name;
5. echo “<br />”;
6. echo $hello;//$$name;
7. ?>

&$a.php
1.<?php
2.$a = 10;
3.$b = $a;
4.$b = $b+1;
5.echo $a;//10
6.echo “|”;
7.echo $b;//11
8.echo “<hr />”;
9.$c = &$a;
10.$c = $c+1;
11.echo $a;//11
12.echo “|”;
13.echo $c;//11
14.?>

bool.php
1. <?php
2. $man=true;
3. $woman=false;
4. echo $man;
5. echo “<hr />”;
6. echo $woman; //echo 输出false时,输出空白。
7. echo “<hr />”;
8. var_dump($man);
9. var_dump($woman);
10.
11. ?>

string.php
1. <?php
2. $name=”ggg”;
3. $str=’$name,let\’s go ‘;
4. var_dump($str);
5. ?>
6. <hr />
7. <?php
8. $str=”{$name},let’s go\$”;
9. var_dump($str);
10. ?>
11. <hr />
12. <?php
13. $str=<<<HTML
14. <span style=”color:red;background-color:black”>This is DJF[‘”$%]</span>
15. HTML;
16. var_dump($str);
17. ?>

define.php
1. <?php
2. define(“NAME”,”GGG”);
3. var_dump(NAME);
4. echo “<hr />”;
5. echo __FILE__;
6. echo “<hr />”;
7. echo __LINE__;
8. echo “<hr />”;
9. echo PHP_VERSION;
10. echo “<hr />”;
11. echo DIRECTORY_SEPARATOR;
12. ?>

ssysf.php(算数运算符)
1. <?php
2. $a = 10;
3. $b = 5;
4. $c = -$a;
5. echo $c;
6. echo “<hr />”;
7. $c = $a+$b;
8. echo $c;
9. echo “<hr />”;
10. $c = $a-$b;
11. echo $c;
12. echo “<hr />”;
13. $c = $a*$b;
14. echo $c;
15. echo “<hr />”;
16. $c = $a/$b;
17. echo $c;
18. echo “<hr />”;
19. $c = $a%$b;
20. echo $c;
21. echo “<hr />”;
22. echo $a++;//先输出,再自增
23. echo “<hr />”;
24. echo ++$a;//先自增,再输出
25. ?>

ljysf.php(逻辑运算符)
1. <?php
2. $a = true;
3. $b = false;
4. //$c = !$a;
5. //var_dump($c);
6. //$c = $a and $b;
7.
8. /*
9. var_dump($c);//true
10. var_dump($c = $a and $b);//false
11. var_dump($c = ($a and $b));//false
12. */
13.
14. //$c = ($a || $b);
15. //var_dump($c);
16.
17. $c = ($a xor $b);
18. var_dump($c);
19. ?>

bjysf.php(比较运算符)
1. <?php
2. $a = 0;
3. $b = false;
4. $c = 0.0;
5. $d = 1/3;
6. $e = 2/6;
7. $f = true;
8. $g = 2;
9. echo ‘$a==$b’;
10. var_dump($a == $b);
11. echo “<br />”;
12. echo ‘$a===$b’;
13. var_dump($a === $b);
14. echo “<br />”;
15. echo ‘$a!=$b’;
16. var_dump($a != $b);
17. echo “<br />”;
18. echo ‘$a!==$b’;
19. var_dump($a !== $b);
20. echo “<br />”;
21. echo ‘$a>$g:’;
22. var_dump($a > $g);
23. echo “<br />”;
24. echo ‘$a<$g:’;
25. var_dump($a < $g);
26. ?>

zfcysf.php(字符串运算符)
1. <?php
2. $name = “GGG”;
3. $hello = “Hello”;
4. $num = “3.14”;
5. echo $num.$hello.”,”.$name.”.”.”;”.’123456′;
6.
7. ?>

qtysf.php(其他运算符)
1. <?php
2. $a = 10<20?10:20;
3. echo $a;
4. echo “<hr />”;
5. echo `whoami`;
6. echo “<hr />”;
7. echo @$name;
8. ?>

1.php(顺序)
1. <?php
2. $name = “GGG”;
3. echo $name;
4. $name = “HJ”;
5. echo $name;
6. ?>

2.php(单分支)
1. <?php
2. $grade = 59.9;
3. if($grade > 60){
4. echo “pase”;
5. }
6.
7. ?>

3.php(双分支)
1. <?php
2. $grade = 60;
3. if($grade >= 60){
4. echo “pase”;
5. }
6. else{
7. echo “sorry”;
8. }
9. ?>

4.php(多分支elseif)
1. <?php
2. $grade = rand(0,100);
3. echo “Your grade is “.$grade.”:”;
4. if($grade >= 90){
5. echo ‘A’;
6. }
7. elseif($grade >= 80){
8. echo ‘B’;
9. }
10. elseif($grade >= 70){
11. echo ‘C’;
12. }
13. elseif($grade >= 60){
14. echo ‘D’;
15. }
16. else{
17. echo ‘sorry’;
18. }
19. ?>

5.php(多分支switch)
1. <?php
2. $day = rand(1,7);
3. switch($day){
4. case 1:
5. echo ‘Monday’;
6. break;
7. case 2:
8. echo ‘Tuesday’;
9. break;
10. case 3:
11. echo ‘Wednesday’;
12. break;
13. case 4:
14. echo ‘Thursday’;
15. break;
16. default:
17. echo ‘What?’;
18. }
19. ?>

6.php(while)
1. <?php
2. $i=0;
3. while($i<100){
4. echo ++$i.” “;
5. }
6. ?>

7.php(do while)
1. <?php
2. $i=0;
3. do{
4. echo ++$i.” “;
5. }while($i<11)
6. ?>

8.php(for)
1. <?php
2. for($i=0;$i<=5;$i++){
3. echo “The number is {$i}.<br />”;
4. }
5. ?>

9.php(break/break2)
1. <?php
2. /*
3. for($i=0;$i<5;$i++){
4. echo “i=”.$i.”<hr />”;
5. for($j=0;$j<5;$j++){
6. echo “j=”.$j.”<br />”;
7. if($j==3)
8. break;
9. }
10. }
11. */
12. for($i=0;$i<5;$i++){
13. echo “i=”.$i.”<hr />”;
14. for($j=0;$j<5;$j++){
15. echo “j=”.$j.”<br />”;
16. if($j==3)
17. break 2;
18. }
19. }
20. ?>

10.php(continue)
1. <?php
2. for($i=0;$i<3;$i++){
3. echo “i=”.$i.”<hr />”;
4. for($j=0;$j<3;$j++){
5. if($j==0){
6. echo “passing<br />”;
7. continue;
8. }
9. echo “j=”.$j.”<br />”;
10. }
11. }
12. ?>

11.php(exit()/die())
1. <?php
2. for($i=0;$i<3;$i++){
3. echo “i=”.$i.”<hr />”;
4. for($j=0;$j<3;$j++){
5. if($j==0){
6. echo “passing<br />”;
7. //die();
8. exit(“The end !”);
9. }
10. echo “j=”.$j.”<br />”;
11. }
12. }
13. ?>

12.php(乘法口诀)
1. <?php
2. for($i=1;$i<=9;$i++){
3. for($j=1;$j<=$i;$j++){
4. echo “{$i}*{$j}=”.$i*$j.” “;
5. }
6. echo “<br />”;
7. }
8. ?>
