PHP
本文最后更新于 1694 天前,其中的信息可能已经有所发展或是发生改变。

PHP命令行启动

php -S 127.0.0.1:8080 -t ./

PHP变量

PHP变量需要标识符$,如:
$a=10;

变量函数

<?php
    function come($name)
{
    echo "That".$name." is coming!";//输出变量内容,在变量前后各加一个点
}

$a = "come";
$a("Tommy"); //此时a变量已继承了come函数的功能,因此这个变量能像一个函数一样运行
?>

PHP预定义变量

$_SERVER['SERVER_ADDR'] //当前服务地址
$_SERVER['REMOTE_ADDR'] //当前浏览用户的IP地址

$_REQUEST //POST或GET $_POST //用于获取POST方法提交的数据 $_GET //用于GET方法提交的数据

数组

php中有两种数组,其中一种和C没什么区别,调用时,和C区别不大。另外一种,是键值对类型的数组。

$name=array("Tom", "Jimmy", "Mike");
$phone=array("1"=>"apple","2"=>"huawei", "3"=>"xiaomi");

使用 foreach 循环遍历数组

foreach($name as $value) //name是一个数组, value是当前迭代量
    ;

foreach($phone as $key=>$value)
    ;

foreach 语句会从数组第一个元素开始遍历,当前元素值储存在$value 变量中,第二种则可以同时遍历键和值

count() 函数用于返回数组的长度

each() 经常和 list() 结合使用来遍历数组。

each()返回一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。

而list()则用于把一个数组中的键和值分别赋给两个变量。


$people = array("Peter", "Joe", "Glenn", "Cleveland");

reset($people);

while (list($key, $val) = each($people))
  {
  echo "$key => $val<br />";
  }
?>

函数汇总


array_search("red",$arr); //在arr数组中找到一个值 red,然后返回键
in_array("red",$arr); 
array_push($a,"blue","yellow"); //在数组末尾加入元素,加入的元素键为数组下标(数字)
array_unique($a); //删除数组中重复值
mb_strpos() //返回要查找的字符串在别一个字符串中首次出现的位置
// mb_strpos (haystack ,needle )
// haystack:要被检查的字符串。
// needle:要搜索的字符串

mb_substr() //函数返回字符串的一部分。

//str 必需。从该 string 中提取子字符串。
//start 必需。规定在字符串的何处开始。
//ength 可选。规定要返回的字符串长度。默认是直到字符串的结尾
可利用该函数转字符串(PHP代码)绕过字符检测
string base_convert ( string $number , int $frombase , int $tobase )
$number:待转换的数值
$frombase:数值是几进制
$tobase:要转换为几进制

 

字符串操作


ltrim(); //去除特殊字符
addslashes($str); //对字符串中特殊字符转义
stripslashes(%st); //转义还原
strlen($len); //长度
strcmp($str,$a); //字符串比较
str_ireplace(); //替换查询关键字
str_replace(); //替换字符串
number_fomat(); //字符串

explode(); //分割字符串
explode(" ",$str) //将字符串打散成数组

list($va1, $va2,...) //将一个数组赋给它,可用于批量赋值

日期和时间

time(); //获取时间戳

date_default_timezone_set("Asia/Shanghai"); //设置时区
date('Y-m-d'); //年月日时间
date('Y-m-d h:i:sa'); //年月日时分秒12h

getdate(); //返回包含当前时间的数组,也可接受一个时间戳参数
bool checkdate(int moth, int day, int year); //检查时间是否正确
strtotime('2017-1-1'); //将字符时间转换为时间戳

Cookie&Session

<!- cookie 和 session 都必须在html页面之前->
setcookie("user", "Alex Porter", time()+3600); //创建Cookie,键-user,值-Al.....
if (isset($_COOKIE["user"])) //判断是否有cookie
setcookie("user", "", time()-3600); //删除cookie

session_star();  //启动session
$_SESSION['user']= $_POST['Username']; //可用来判断用户种类
$_SESSION = array(); // 注销(清空)所有session
session_destroy(); //关闭session

setcookie(session_name(), session_id(), time()+60, "/"); //通过cookie设置session时间
//session id 是客户端标识,只要能传递它,就能实现session的功能

session_cache_limiter('private' 或 'pubilc'); //设置session缓存

//session数据库存储

pass

OOP

//定义类
class SomeObject
{
....
pubilc function __construct($a, $b, $c, ....)
{
this->a =$a;
....
}
....
}
//实例化类
$a = new SomeObject(arv1, arv2, ...);

 

 

 

上一篇
下一篇