sort、asort、ksort 三者说明

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);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值