目录
一、简介
二、php基本语法
二、变量和作用域
三、常量
四、数据类型
五、运算符
六、流程控制
七、超全局变量
一、简介
PHP文件:
- PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
- PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
- PHP 文件的默认文件扩展名是 ".php"
二、php基本语法
<?php #单行注释1 // 单行注释2 / 多行注释3 */ echo "<h1>hello world</h1>"; $name="coleak"; $mes="hello"; echo $mes." ".$name; echo "<br>"; echo "my name is $name"; echo "<br>"; echo 'my name is $name'; echo "<br>"; var_dump($name); // 调试函数,没有返回值 ?>
讯享网
二、变量和作用域

讯享网<?php function fun() { $y=0;//局部变量 echo "y的值为: $y"; echo "<br>"; echo "x的值为: $x"; } $x=1;//全局变量 fun(); echo "<br>"; echo "y:$y"; echo "<br>"; echo "x:$x"; ?>

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

三、常量

讯享网<?php // 被替代的写法 define("mess","hello"); echo mess; // 新写法 const name ='coleak'; echo name; function fun() { echo name; } fun(); ?>
四、数据类型

- 布尔类型

<?php $a=true; $b=False; if(is_bool($a)) if(is_bool($b)) echo 1; ?>
此时输出为1,不区分大小写的弱语言
- heredoc和nowdoc
讯享网<?php $a=true; $b=False; if(is_bool($a)) if(is_bool($b)) echo 1; ?> <?php $name="coleak"; $message=<<<'EOT' hello $name EOT; echo $message; ?>
上面输出为hello coleak,下面输出为hello $name
- 数组
<?php $a1=array('12',"12",12); $a2=[1,2,3,4]; $a3=[ "hh"=>6, 5=>'coleak' ]; var_dump($a1); echo "<br>"; var_dump($a2); echo "<br>"; var_dump($a3); echo "<br>"; 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" }
- 对象
讯享网<?php class person { var $count=1; function func() { echo $this->count; } } $per1=new person(); echo $per1->count;//后面的count前面不用加$号 echo "<br>"; $per1->func(); ?>
此时输出为两个1
- null
<?php $a=1; $b=2; function fun() { echo $a+$b; echo "<br>"; var_dump($a); echo "<br>"; var_dump($b); echo "<br>"; } fun(); var_dump($a); echo "<br>"; var_dump($b); echo "<br>"; ?>
0
NULL
NULL
int(1)
int(2)
讯享网<?php $a=10; unset($a); var_dump($a+1); echo $a+2; echo "<br>"; var_dump($b+3); echo $b+4; ?>
2
4
五、运算符
- 字符串运算符
<?php $a="hello"; $b=$a."world"; $a.="world"; echo $b,"<br>"; echo $a; ?>
- 比较运算符

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

- 数组运算符

讯享网<?php $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" }
由此可以看出+时并没有覆盖重复的键。
- 三元操作符
<?php // 写法一(老旧) $a="coleak"; $name=$a?$a:"nobody"; echo $name; // 新写法 $name2=$a?:'nobody'; echo "<br>",$name2; ?>
六、流程控制


讯享网<?php $x=[1,2,3,4,5]; foreach ($x as $val) { echo $val."<br>"; } ?>
1
2
3
4
5
七、超全局变量

<?php $a=10; $b=20; function add() { $GLOBALS['z']=$GLOBALS["a"]+$GLOBALS['b']; } add(); echo $z; ?>
30
- POST方式
讯享网<!DOCTYPE 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>Document</title>
</head>
<body>
<form method="post" action="index.php">
<p>my_add</p>
<input type="text" name="add1">
<br>
<input type="text" name="add2">
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
<?php $add1=$_REQUEST["add1"];//也可以用$_POST $add2=$_REQUEST["add2"];//也可以用$_POST $add=$add1+$add2; echo $add; ?>

333
- GET方式(不安全)
讯享网<!DOCTYPE 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>Document</title>
</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>
<?php $fname=$_GET["fname"]; $password=$_GET["passw"]; $message=<<<ETO 用户名称 $fname 用户密码 $password ETO; echo $message; ?>




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/121326.html