1.输出
<?php
$ans = 1;
echo "ans = ".$ans;
?>
2.作用域
<?php
$x = 1;
function mytest() {
$y = 2;
echo "<p>x = $x</p>";#x =
echo "<br>";
echo "<p>y = $y</p>";#y = 2
}
mytest();
echo "<p>x = $x</p>";#x = 1
echo "<p>y = $y</p>";#y =
?>
<?php
define("abc", "def");#常量是贯穿整个脚本的
echo abc;
?>
3.global关键字
仅声明作用,不可初始化
$x = 1;
$y = 2;
function mytest() {
global $x, $y;
$z = $x + $y;
echo "ans = $z";# ans = 3
}
mytest();?>
<?php
# GLOBALS数组存储了所有的全局变量
$x = 1;
$y = 2;
function mytest() {
$z = $GLOBALS['x'] + $GLOBALS['y'];
echo "ans = $z";# ans = 3
}
mytest();
?>
4.static
声明为静态,不会删除该局部变量
<?php
function mytest() {
static $x = 0;
echo $x;
$x++;
}
mytest();
mytest();
mytest();
#012
?>
5.echo,print
<?php
echo "<h2>PHP is fun!</h2>";
echo "Hello World!<br>";
echo "I'm about to learn PHP!<br>";
echo "1"."2"."3"."<br>";
echo "11","22";
?>
<?php
$a = "Learn PHP";
$b = "W3School.com.cn";
$c = array("aa", "bb", "cc");
echo $a."<br>";
echo "Study PHP at $b<br>";
echo "The c is $c[0]";
#print同理但不支持',',有返回值速度比echo慢。echo无返回值
?>
6.数据类型
#var_dump会返回数据类型和值
<?php
$x = 123;
var_dump($x);
echo "<br>";
$x = 0xf;
var_dump($x);
$x = 123.1;
var_dump($x);
$x = true;#false
var_dump($x);
$x = array("a", 123, "c");
var_dump($x);
$x=null;
var_dump($x);
?>
7.字符串函数
<?php
echo strlen("Hello World")."<br>";
echo str_word_count("a a absdf sdf sfd");
echo strrev("123");
echo strpos("Hello world!", "world!");
echo str_replace("world", "Kitty", "Hello world");#Hello Kitty
?>
8.运算
<?php
$x=17;
$y=8;
echo ($x + $y); // 输出 25
echo ($x - $y); // 输出 9
echo ($x * $y); // 输出 136
echo ($x / $y); // 输出 2.125
echo ($x % $y); // 输出 1
?>
9.循环
<?php
for($i = 1; $i <= 10; $i++) {
echo $i;
}
?>
<?php
$x = array("a", "b", 1, 2.0);
foreach($x as $y) {
echo $y;
}
?>
<?php
$cars=array("porsche","BMW","Volvo");
echo count($cars);#数组长度 3
?>
<?php
$age=array("Bill"=>"63","Steve"=>"56","Elon"=>"47");
asort($x)
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
10.超全局
$_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。
$_SERVER['GATEWAY_INTERFACE'] 返回服务器使用的 CGI 规范的版本。
$_SERVER['SERVER_ADDR'] 返回当前运行脚本所在的服务器的 IP 地址。
$_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
$_SERVER['SERVER_SOFTWARE'] 返回服务器标识字符串(比如 Apache/2.2.24)。
$_SERVER['SERVER_PROTOCOL'] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
$_SERVER['REQUEST_METHOD'] 返回访问页面使用的请求方法(例如 POST)。
$_SERVER['REQUEST_TIME'] 返回请求开始时的时间戳(例如 1577687494)。
$_SERVER['QUERY_STRING'] 返回查询字符串,如果是通过查询字符串访问此页面。
$_SERVER['HTTP_ACCEPT'] 返回来自当前请求的请求头。
$_SERVER['HTTP_ACCEPT_CHARSET'] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
$_SERVER['HTTP_HOST'] 返回来自当前请求的 Host 头。
$_SERVER['HTTP_REFERER'] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
$_SERVER['HTTPS'] 是否通过安全 HTTP 协议查询脚本。
$_SERVER['REMOTE_ADDR'] 返回浏览当前页面的用户的 IP 地址。
$_SERVER['REMOTE_HOST'] 返回浏览当前页面的用户的主机名。
$_SERVER['REMOTE_PORT'] 返回用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER['SCRIPT_FILENAME'] 返回当前执行脚本的绝对路径。
$_SERVER['SERVER_ADMIN'] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
$_SERVER['SERVER_PORT'] Web 服务器使用的端口。默认值为 “80”。
$_SERVER['SERVER_SIGNATURE'] 返回服务器版本和虚拟主机名。
$_SERVER['PATH_TRANSLATED'] 当前脚本所在文件系统(非文档根目录)的基本路径。
$_SERVER['SCRIPT_NAME'] 返回当前脚本的路径。
$_SERVER['SCRIPT_URI'] 返回当前页面的 URI。
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname"><br>
Passwd:<input type="passwd" name="pwd"><br>
<input type="submit">
</form>
<?php
echo $_REQUEST["fname"]." ".$_REQUEST["pwd"];
?>
</body>
</html>