有哪些PHP实用小技巧值得长期收藏分享?

更新于
2026-09-27 20:03:47
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1083个文字,预计阅读时间需要5分钟。

有哪些PHP实用小技巧值得长期收藏分享?

本章节为大家分享一些PHP实际开发中常用的小技巧和方法,让家提升摸鱼效率,快速收藏学习!

1. 解决跨域问题phppublic function __construct(){ parent::__construct(); header('Access-Control-Allow-Origin: *');}

本篇文章给大家分享一些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、接口返回

有哪些PHP实用小技巧值得长期收藏分享?

  • 接口正常返回 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

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

15、接口测试工具

  • 接口测试工具

本文共计1083个文字,预计阅读时间需要5分钟。

有哪些PHP实用小技巧值得长期收藏分享?

本章节为大家分享一些PHP实际开发中常用的小技巧和方法,让家提升摸鱼效率,快速收藏学习!

1. 解决跨域问题phppublic function __construct(){ parent::__construct(); header('Access-Control-Allow-Origin: *');}

本篇文章给大家分享一些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、接口返回

有哪些PHP实用小技巧值得长期收藏分享?

  • 接口正常返回 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

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

15、接口测试工具

  • 接口测试工具