参考:W3school PHP教程:http://www.w3school.com.cn/php/index.asp
1、PHP中的变量:
Php的变量部分和python类似,都是无类型声明的,只不过php多一个$符
以$符号开头,后面紧跟一个字母或下划线(不能是数字),然后后面可以由字母,下划线或数字组成
var_dump() 会返回变量的数据类型和值
php中bool变量的值为true或false
php中把变量定义为空:$x=null;
数组:
索引数组
定义法一:$cars=array("Volvo","BMW","SAAB");
定义法二(分开指定):
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
遍历索引数组:用count(数组名)方法获取数组长度
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
关联数组(字典)
定义法一:$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
定义法二:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
遍历关联数组(字典):用foreach循环
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
数组的排序
- sort() - 以升序对数组排序
- rsort() - 以降序对数组排序
- asort() - 根据值,以升序对关联数组进行排序
- ksort() - 根据键,以升序对关联数组进行排序
- arsort() - 根据值,以降序对关联数组进行排序
- krsort() - 根据键,以降序对关联数组进行排序
其他,phpstring参考手册(功能强大):
http://www.w3school.com.cn/php/php_ref_array.asp
2、PHP中的常量:
常量的值无法改变且常量是全局的
常量的定义方法:define(常量名,常量值[,常量名是否大小写敏感(true为不敏感)])
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
3、PHP类和PHP函数(无返回值类型声明,设置默认参数用=):
<?php
class Car
{
var $color;
#php函数
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
4、PHP判断/条件语句(while语句和for语句同java):
if (条件) {
条件为 true 时执行的代码;
} elseif (condition) {
条件为 true 时执行的代码;
} else {
条件为 false 时执行的代码;
}
####java是else if || python是elif || php是elseif
switch (expression)
{
case label1:
code to be executed if expression = label1;
break;
case label2:
code to be executed if expression = label2;
break;
default:
code to be executed
if expression is different
from both label1 and label2;
}
5、PHP字符串函数:
字符串长度:strlen(“hello”);#返回5
字符串中查找字符串:strpos(“hello world!”,”world”);#返回匹配到的字符串的首字符位置或false
其他,phpstring参考手册(功能强大):
http://www.w3school.com.cn/php/php_ref_string.asp
6、echo 和 print 之间的差异:
- echo - 能够输出一个以上的字符串
- print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
echo "This", " string", " was", " made", " with multiple parameters.";
echo $txt1;
echo "My car is a {$cars[0]}";
print "Study PHP at $txt2";
print $txt1;
print "My car is a {$cars[0]}";
7、php运算:
与python3类似,php中用/做整数除法可以得到小数
8、global关键词:在函数内引用全局变量
法一
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
法二
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 输出 15
?>
9、Static关键词:在函数内定义静态变量(这个变量属于这个函数,调用函数后变量不会销毁)
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
10、PHP中的超全局变量,9个(下面介绍了前5个):$GLOBAL, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION
$GLOBAL用于在任意位置访问全局变量,用法$GLOBAL[‘不带$号的全局变量名’]
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
$_SERVER用于访问一些系统参数,用法$_SERVER[‘要访问的参数’]
$_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。 |
$_REQUEST获取提交到当前脚本的html表单内容,用法:$_REQUEST[‘提交到当前脚本的html表单(GET,POST…都可以)中的元素的name’]
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_REQUEST['fname'];
echo $name;
?>
</body>
</html>
$_POST获取提交到当前脚本的POST表单内容(用法同$_REQUEST)
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_POST['fname'];
echo $name;
?>
</body>
</html>
$_GET获取提交到当前脚本的GET表单内容(用法同$_REQUEST)
发送get请求:test_get.php?subject=PHP&web=W3school.com.cn
test_get.php脚本:
<html>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>