目录
基础知识:
需要一定的html和css的语法知识
基本概念:
PHP(超文本预处理器)是一种通用开源脚本语言,在服务器上执行。
PHP文件:
- #单行注释1
- // 单行注释2
- /**
- 多行注释3
- */
- echo "
hello world
"; - $name="coleak";
- $mes="hello";
- echo $mes." ".$name;
- echo "
"; - echo "my name is $name";
- echo "
"; - echo 'my name is $name';
- echo "
"; - var_dump($name);
- // 调试函数,没有返回值
- ?>


- function fun()
- {
- $y=0;//局部变量
- echo "y的值为: $y";
- echo "
"; - echo "x的值为: $x";
- }
- $x=1;//全局变量
- fun();
- echo "
"; - echo "y:$y";
- echo "
"; - echo "x:$x";
- ?>

分析:此时函数内不能访问全局变量,需要使用globar $x; 函数外不能访问局部变量。
- function fun()
- {
- static $y=0;//静态变量
- echo "y的值为: $y";
- echo "
"; - $y++;
- }
- fun();
- fun();
- fun();
- fun();
- ?>


- // 被替代的写法
- define("mess","hello");
- echo mess;
- // 新写法
- const name ='coleak';
- echo name;
- function fun()
- {
- echo name;
- }
- fun();
- ?>


- $a=true;
- $b=False;
- if(is_bool($a))
- if(is_bool($b))
- echo 1;
- ?>
此时输出为1,不区分大小写的弱语言
- $a=true;
- $b=False;
- if(is_bool($a))
- if(is_bool($b))
- echo 1;
- ?>
-
-
- $name="coleak";
- $message=<<<'EOT'
- hello $name
- EOT;
- echo $message;
- ?>
上面输出为hello coleak,下面输出为hello $name
- $a1=array('12',"12",12);
- $a2=[1,2,3,4];
- $a3=[
- "hh"=>6,
- 5=>'coleak'
- ];
- var_dump($a1);
- echo "
"; - var_dump($a2);
- echo "
"; - var_dump($a3);
- echo "
"; - unset($a3['hh']);
- var_dump($a3);
- ?>
array(3) { [0]=> string(2) "12" [1]=> string(2) "12" [2]=> int(12) }
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) }
array(2) { ["hh"]=> int(6) [5]=> string(6) "coleak" }
array(1) { [5]=> string(6) "coleak" }
- class person
- {
- var $count=1;
- function func()
- {
- echo $this->count;
- }
- }
- $per1=new person();
- echo $per1->count;//后面的count前面不用加$号
- echo "
"; - $per1->func();
- ?>
此时输出为两个1
- $a=1;
- $b=2;
- function fun()
- {
- echo $a+$b;
- echo "
"; - var_dump($a);
- echo "
"; - var_dump($b);
- echo "
"; - }
- fun();
- var_dump($a);
- echo "
"; - var_dump($b);
- echo "
"; - ?>
0
NULL
NULL
int(1)
int(2)
- $a=10;
- unset($a);
- var_dump($a+1);
- echo $a+2;
- echo "
"; - var_dump($b+3);
- echo $b+4;
- ?>
2
4
- $a="hello";
- $b=$a."world";
- $a.="world";
- echo $b,"
"; - echo $a;
- ?>
helloworld
helloworld

注意:当字符串遇到数字内容的比较时,如果不是使用绝对比较符,则会转化为对应的数字进行比较。


- $a=[
- "a"=>"aa",
- "b"=>"bb"
- ];
- $b=[
- "a"=>"aaa",
- "c"=>"cc"
- ];
- $c=$a+$b;
- var_dump($c);
- ?>
array(3) { ["a"]=> string(2) "aa" ["b"]=> string(2) "bb" ["c"]=> string(2) "cc" }
由此可以看出+时并没有覆盖重复的键。
- // 写法一(老旧)
- $a="coleak";
- $name=$a?$a:"nobody";
- echo $name;
- // 新写法
- $name2=$a?:'nobody';
- echo "
",$name2; - ?>
coleak
coleak


- $x=[1,2,3,4,5];
- foreach ($x as $val)
- {
- echo $val."
"; - }
- ?>
1
2
3
4
5

- $a=10;
- $b=20;
- function add()
- {
- $GLOBALS['z']=$GLOBALS["a"]+$GLOBALS['b'];
- }
- add();
- echo $z;
- ?>
30
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Documenttitle>
- head>
- <body>
- <form method="post" action="index.php">
- <p>my_addp>
- <input type="text" name="add1">
- <br>
- <input type="text" name="add2">
- <br>
- <input type="submit" value="提交">
- form>
- body>
- html>
- $add1=$_REQUEST["add1"];//也可以用$_POST
- $add2=$_REQUEST["add2"];//也可以用$_POST
- $add=$add1+$add2;
- echo $add;
- ?>

333
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Documenttitle>
- head>
- <body>
- <form method="get" action="index.php">
- <p>Name:<input type="text" name="fname">p>
- <p>Password:<input type="password" name="passw">p>
- <p><input type="submit" value="提交">p>
- form>
- body>
- html>
- $fname=$_GET["fname"];
- $password=$_GET["passw"];
- $message=<<
- 用户名称 $fname 用户密码 $password
- ETO;
- echo $message;
- ?>

