• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 20+个值得收藏的PHP常用小技巧

20+个值得收藏的PHP常用小技巧

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了值得收藏,PHP常用小技巧等相关知识,希望对您有所帮助

本篇文章给大家分享一些PHP实际开发中常用的技巧和方法,以让大家增加摸鱼的时间,快来收藏学习吧!


20+个值得收藏的PHP常用小技巧


1、解决跨域问题

public function __construct(){    parent::__construct();    header('Access-Control-Allow-Origin:*');    //跨域}


2、json_encode 中文不转码

die( json_encode( $result,JSON_UNESCAPED_UNICODE ) );


3、二维数组排序

$users = array(    array('name' => 'xiao1', 'age' => 20),    array('name' => 'xiao2', 'age' => 18),    array('name' => 'xiao3', 'age' => 22));  /*按照年龄升序*///要将age提取出来存储到一维数组里,然后按照age升序排列$ages= array_column($users, 'age');array_multisort($ages, SORT_ASC, $users);  /*先按照年龄升序,再按照姓名降序*/$ages= array_column($users, 'age');$names = array_column($users, 'name');array_multisort($ages, SORT_ASC, $names, SORT_DESC, $users);


4、如果Linux服务器上php.ini关闭了错误提示,导致结果406,500。打印错误信息。

ini_set("display_errors", "On");error_reporting(E_ALL | E_STRICT);


5、list 的使用

//list使用public function test(){    list($name, $sex) = $this->getInfo();    echo "姓名:{$name},性别:{$sex}";}  public function getInfo(){    return ['张三', '男'];}  //输出:姓名:张三,性别:男


6、函数 array_column()的使用

$array = [    ['id'=>'99', 'name'=>'九十九'],    ['id'=>'88', 'name'=>'八十八'],    ['id'=>'77', 'name'=>'七十七'],];$arr1 = array_column($array, 'name');   //输出:array (0 => '九十九',1 => '八十八',2 => '七十七',)$arr2 = array_column($array, 'name', 'id'); //输出:array (  99 => '九十九',  88 => '八十八',  77 => '七十七',)

array_column() 与 array_combine() 搭配使用

$ids = array_column($array, 'id');$arrayCombine = array_combine($ids, $array);/*$arrayCombine 输出: array (      99 => array ( 'id' => '99', 'name' => '九十九', ),      88 => array ( 'id' => '88', 'name' => '八十八', ),      77 => array ( 'id' => '77', 'name' => '七十七', ),  )*/

7、一维数组去重,删除0,null,索引重置

$array = array(0,1,0,2,null,1,3,4,null,0);$array = array_values(array_unique(array_diff($array, [0, null]))); //去除0,null;去重var_export($array);  /*输出:array (  0 => 1,  1 => 2,  2 => 3,  3 => 4,)*/


8、把秒转为时分秒

把秒数转为时分秒,gmstrftime函数,不过该函数仅限于24小时内的秒数转换。

$r = gmstrftime('%H:%M:%S',(3600*23)+123);var_export($r);//输出: '23:02:03'


9、接口返回

接口正常返回 1 ,异常返回 -1 。如果数据为空,是1;-1是参数异常或者逻辑错误。


10、四舍五入保留2位小数。

round($x, 2);


11、隐藏手机号中间4位。

$num = "13711111111";$str = substr_replace($num,'****',3,4);


12、换行变量 PHP_EOL

使用场景:一个小小的换行,其实在不同的平台有着不同的实现。

本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。

PHP_EOL就是php中已经定义好的变量,代表php的换行符。

这个变量会根据平台而变,在windows下会是/r/n,在linux下是/n,在mac下是/r。


13、PHP判断数组 键 是否存在 isset(),array_key_exists(),empty()

$array = ['a'=>'我是第一个', 'b'=>'我是第二个', 'c'=>'我是第三个', 'f' => null];if(isset($array['a'])) {    echo 'a存在 ';} else {    echo 'a不存在 ';} if(array_key_exists('d', $array)) {    echo 'd存在 ';} else {    echo 'd不存在 ';} if (empty($array['f'])) {    echo 'f不存在';} else {    echo 'f存在,且不为 null,0,"0",false';}  //a存在 d不存在 f不存在


14、引入js的文件,带参数?_=1553829159194

有时候有些地址后面有个这样的参数 ?_=1553829159194

http://***/index/index?_=1553829159194

在url后面加一个timestamp时间戳,保证每次的url都是变化的,这样就不会读取浏览器缓存了。


15、接口测试工具

接口测试工具推荐 postman


16、如果最后一个字是“区”,就删除。

$distName = '南山区';$lastChar = mb_substr($distName, -1);if($lastChar=='区'){    $lastChar = mb_substr($distName, 0, -1);}echo $lastChar;


17、假设页面内容如下:

后台返回的数据结构:

{"eat":["大米","小麦"],"drink":["水","茶"]}

不太好,这样还要前端对应到相关字段,eat吃的;drink是喝的。

最好这样返回:

[{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]


18、创建0777目录,mkdir,c

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 20+个值得收藏的PHP常用小技巧

相关文章

  • thinkphp5.1的model模型自动更新update_time字段实例讲解
  • 实例讲解Laravel队列的简单使用
  • 你值得了解的JavaScript“继承之jquery”使用方法(代码详解)
  • 搜索引擎优化技巧_英文关键字篇
  • 微信小程序wx.request请求数据报错
  • PhotoShop制作沙漠里的3D立体残破钢筋文字教程
  • 分享几种实用的Node.js调试方法,快来收藏吧!!
  • 微信小程序中跳转另一个微信小程序的方法
  • MySQL怎么修改一列的值
  • php怎么使用setcookie()设置cookie永不过期

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 聊聊Node.js中的事件驱动程序和EventEmitter类
    • PHP采集插件QueryList实践教学
    • 2018最新手机号验证正则表达式方法
    • Photoshop设计黑色大气的网页模板
    • PhotoShop制作血渍污渍动画游戏文字效果教程
    • 介绍PHP + MySQL 实现数据分页显示
    • 小程序怎么查看base64图片
    • Photoshop制作超酷的3D岩石字体教程
    • SyntaxHighlighter 去掉右侧滚动条的方法
    • Javascript怎么禁止事件冒泡

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有