sort、asort、ksort 都是对php中的数组进行排序
$fruits = array("lemon", "orange","apple" ,"banana");
sort($fruits); //todo sort 按英文字母升序排序
asort($fruits); //todo asort按照字母升序排序,并且单元的“索引”关系不变
ksort($fruits); //todo ksort 按照”键值“字母升序排序
随便记录一下:
$str = strrev($str); //字符翻转
echo ltrim(strrev(chunk_split($str,3,'.')),'.');
array_reverse($array); //数组翻转
php错误级别代码块:
error_reporting(0); //关闭所有错误提示,包括E_ALL错误
error_reporting(E_ALL ^ E_NOTICE); //展示所有错误,除了那些没有对我们没有害的提示 error_reporting(E_ALL &~ E_NOTICE)
error_reporting(E_ALL); //错误所有错误,包括错误也展示出来
htmlspecialchars 和htmlentities的区别
htmlspecialchars 只转化、 单引号、双引号、&符号
htmlentities 会转化所有的html符号
获取后缀名的五种方法:
$filename = __FILE__;
echo getExeV5($filename);
/**
* TODO 方法 strrpos 容易忘记
* @param $path
* @return string
*/
function getExeV1($path)
{
return substr($path, strrpos($path, '.'));
}
/**
* TODO 方法 strrchr 容易忘记
* @param $path
* @return string
*/
function getExeV2($path)
{
return strrchr($path, '.');
}
/**
* 这个肯定会的
* @param $path
* @return mixed
*/
function getExeV3($path)
{
$arr = explode('.', $path);
return $arr[count($arr) - 1];
}
/**
* TODO 这里一条不会
* @param $path
* @return mixed
*/
function getExeV4($path)
{
$arr = pathinfo($path); //获取路径的所有信息
return $arr['extension'];
}
/**
* TODO 这里一条不会
* @param $path
* @return mixed
*/
function getExeV5($path){
return pathinfo($path,PATHINFO_EXTENSION);
}
正则方式:
//.*? 表示任意0个获取多个任意字符
$script1 = "333<script type='text/javascript'></script>";
$reg = '/<script[^>]*?>.*?<\/script>/si';
preg_match($reg, $script1, $match);
print_r($match);
php的双向队列
$user = array('keys');
array_unshift($user,'j3jj33'); //向数组添加【头部】添加一个值
array_push($user,'tte'); // 向数组中的【尾部】添加一个值
array_pop($user); //向数组【尾部】弹出一个值
array_shift($user); //向数组中的【头部】弹出一个值
class deQue
{
/**
* @var array
*/
private static $queue = array();
/**
* 向数组添加【头部】添加一个值
* @param $item
*/
public static function addFirst($item)
{
array_unshift(self::$queue, $item);
}
/**
* 向数组中的【尾部】添加一个值
* @param $item
*/
public static function addLast($item)
{
array_push(self::$queue, $item);
}
/**
* 向数组中的【头部】弹出一个值
*/
public static function removeFirst()
{
array_shift(self::$queue);
}
/**
* 向数组中的【头部】弹出一个值
*/
public static function removeLast()
{
array_pop(self::$queue);
}
}
Http无状态
HTTP无状态协议是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
sessionId 的生成过程。
php会话ID是如何产生的?PHP默认的session id生成算法介绍
以php5.3.6的源码为例,进入/ext/session目录,生成session id的函数位于session.c文件的345行,c语言函数原型如下:
PHPAPI char *php_session_create_id(PS_CREATE_SID_ARGS);