PHP 函数
天下皆白_唯我独黑
爱我所爱,恨我所恨,墨眉无锋,似剑非攻。
展开
-
PHP 页面报错Warning</b>: Cannot modify header information - headers already sent by
经过一晚上的调试,终于找到了问题所在,上面的代码在html页面之后又调用了一个语言转换的方法,错就错在这个语言函数又继承了KernelService类,这个类里面执行了header处理,所以报了这个错误,正常的代码如最后一张图,是不能调用这个Kernel类的。解决方案三:打开php配置文件php.ini,找到“output_buffering”,设置为“On”,这种方法个人不推荐,因为如果不能在开发过程中解决问题而依赖于服务器配置,那作品的可迁移性就非常差了;原创 2024-06-01 23:55:43 · 568 阅读 · 0 评论 -
PHP 如何查看php函数源码
在文件夹里搜不到stubs,但是找到了standard文件夹,点击进去。点击ext,这个文件夹里面是存放函数的目录。下面可以自己去看下函数的具体实现逻辑。原创 2023-10-17 14:42:22 · 1019 阅读 · 0 评论 -
PHP json_encode 转换数组类型之后变成对象解析
json_encode转换不连续下标的数组会默认为是一个对象类型的数据,从而转换成对象格式json原创 2023-01-03 11:03:08 · 1066 阅读 · 0 评论 -
php pcntl_fork 创建多个子进程解析
pcntl_fork — 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程 号,而子进程得到的是0原创 2022-06-02 01:00:02 · 1570 阅读 · 0 评论 -
php使用curl_exec 获取响应头存在多个HEADER问题解决
前言:近期在接一个第三方支付的时候,遇到一个比较头大的问题,因为第三方会把部分响应结果放在header里传输,需要从头里取数据后解密使用,我在本地是正常的,但是放到服务器上就一直是失败,因为取不到对应的头部信息,找了很久原因也没能找到具体问题所在,初步还是怀疑服务器的配置信息有些差异,不过对于问题的处理已经有了方案。首先想要获取头信息需要设置以下参数curl_setopt($curl, CURLOPT_HEADER, true); //设置headercurl_setopt 文档官网地址.原创 2022-05-21 18:01:03 · 2337 阅读 · 0 评论 -
PHP封装Redis Lua脚本
class RedisLuaScript { protected $_redis; /** * 是否支持lua脚本 * @var bool */ protected $_support_lua_script = true; /** * 脚本列表 * @var array */ protected $_func_table = [ // 先获取榜首信息再加积分 'zinc.原创 2021-09-29 17:01:34 · 247 阅读 · 0 评论 -
PHP常用进制转换
常见的进制:二进制 binary -----> bin八进制 octal -----> oct十进制 decimal -----> dec十六进制 hexadecimal -----> hexphp提供了几常见进制之间转换的函数二进制转为其他进制binoct();//转为八进制bindec();//转为十进制binhex();//转为十六进制八进制...转载 2021-06-30 17:54:18 · 513 阅读 · 0 评论 -
php正则批量替换文件内容 preg_replace_callback_array
涉及函数:file_get_contents :将整个文件读入一个字符串 官网文档preg_replace_callback_array :使用回调函数执行正则表达式搜索和替换 官网文档file_put_contents:将一个字符串写入文件 官网文档待替换的文件内容假设文件名为123.php<?php/** * 原始文件 */class text{ function index() { $a = '11111112222';..原创 2021-04-12 12:35:54 · 482 阅读 · 0 评论 -
PHP 批量替换数组中指定值的方法
/** * 批量替换数组中的 * @param array $data_array * @param string $search 原始值 * @param string $replace 替换成值 * @return mixed */function data_replace(&$data_array,$search,$replace){ $data_array = json_decode(str_replace($search, $replace,json_encod.原创 2020-10-30 16:52:31 · 1039 阅读 · 0 评论 -
php 数组函数array_merge 合并数据的坑
array_merge(PHP 4, PHP 5, PHP 7)array_merge—合并一个或多个数组说明array_merge(array$array1[,array$...] ) :arrayarray_merge()将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。如果只...原创 2020-06-29 16:49:14 · 635 阅读 · 0 评论 -
PHP 二维数组多字段排序
$array = [ [ 'user_id' => 1, 'name' => 'A', 'val' => 1, ], [ 'user_id' => 3, 'name' => 'B1', 'val' => 0, ], [ 'user_id' => 4, 'name' =>...原创 2020-06-23 00:21:50 · 355 阅读 · 0 评论 -
PHP redis 使用BitMap存储setbit批量写入与getbit批量查询方法
普通单条用法不详细说明文档都有,下面主要介绍批量的写入与查询。php7.1写法/** * 批量向 setBit中添加元素 * * @param string $key setBit 的key * @param array $elems 待添加元素的集合,每一项为array('key' => value) * @param string $size 大小 u1代表无符号1位 * @return int */ pu.原创 2020-06-22 23:41:47 · 2304 阅读 · 2 评论 -
PHP 清除一维数组中为0的元素
array_diff 比较两个数组的值,并返回差集:// 清除数组中指定元素$arr = [1,2,3,0,1,0,11];$arr = array_diff($arr, [0]);print_r($arr);//结果:Array( [0] => 1 [1] => 2 [2] => 3 [4] => 1 [6] => 11)...转载 2020-06-11 16:11:33 · 580 阅读 · 0 评论 -
PHP 实现 apple 苹果快捷登录
1、安装外部库php-jwt,在项目的composer.json 同级目录下运行composer require php-jwt执行失败的话可借鉴本文:https://blog.csdn.net/qq_24909089/article/details/1060556992、<?php/** * 苹果验证类 * Date: 2019/9/11 */use Firebase\JWT\JWK;use Firebase\JWT\JWT;const AUTH_KEYS_UR原创 2020-05-14 16:07:06 · 1544 阅读 · 7 评论 -
PHP实现 JWK JWT
JWK-to-PEM (RSA and EC Supported)1、官网:https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens2、获取Apple公钥接口:https://appleid.apple.com/auth/keys3、composer(作曲家)安装php-jwt外部库4、类代码<?php/** * apple公钥获取之 jwt转pem *原创 2020-05-14 15:34:36 · 1569 阅读 · 0 评论 -
PHP foreach() 循环continue跳出循环用法简述
$arr=array("1","2","3","a");foreach ($arr as $k=>$y){ echo $y ."\n";}二、如果数组是空的不会进foreach$arr =[];foreach ($arr as $k=>$y){ echo $y. "\n";}三、continue:跳出本次循环继续执行后面的循环$...原创 2020-04-22 15:16:53 · 7056 阅读 · 0 评论 -
Redis php 批量写入有序集合(sorted set)
/** * 调用redis的方法批量写入有序集合 * 等同于$redis->zAdd('key_name1',100,1,100,2,100,3,100,4,100,5); */$redis = new Redis();$redis->connect('127.0.0.1',6379);$time_array = array('key_name1',100,1,100,2...原创 2020-03-02 11:54:00 · 1432 阅读 · 0 评论 -
php中call_user_func 与 call_user_func_array的使用详解
函数解释:call_user_func—把第一个参数作为回调函数调用官方文档call_user_func_array—调用回调函数,并把一个数组参数作为回调函数的参数 官方文档代码:<?php/** * 自定义方法test * @param $a 参数a * @param $b 参数b */function test($a, $b){ ec...转载 2020-03-02 11:51:40 · 581 阅读 · 0 评论 -
PHP json_encode 与 json_decode 空格问题
当你的数据出现空格的时候,使用json_encode编码时系统或者框架会使用urlencode将空格编码为加号“+”,单有时候你不知道系统经过几次urlencode,有时候空格会变成“%2b”是在“+”号后再次进行的编码,最有效的方式是使用URLdecode(URLdecode())进行多次解码,无需担心他到底进行了几次编码,他只会解码有编码的内容。urldecode — 解码已编码的 URL 字...原创 2018-06-26 11:11:12 · 3185 阅读 · 0 评论 -
PHP 使用unset()处理数据后,出现下标,array_values解决办法
PHP array_values() 函数定义和用法:array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。提示:被返回的数组将使用数值键,从 0 开始并以 1 递增。原始数据是数组,经过unset后,多出了下标,变成了对象。正常数据是这样,多出来一个错误数据,想使用unset删除掉,然后使用unset().经过unset()处理的数据自...原创 2019-03-25 13:19:43 · 2301 阅读 · 0 评论 -
Protobuf语言指南——.proto文件语法详解
原文地址:https://blog.csdn.net/code_segment/article/details/77335529转载 2019-05-14 12:01:36 · 644 阅读 · 0 评论 -
PHP in_array 函数,解决大量数据判断in_array的效率慢,in_array 效率优化
用到函数:array_flip() 将数组键名与值对调,而且还会帮助自动去重array_column() 返回输入数组中某个单一列的值。可用于二维数组转一维数组isset() 用来判断变量是否声明,该函数返回布尔类型的值,即true/false,使用 isset() 而不使用 array_key_exists() 的原因,对于数组中为NULL的值不会返回TRUE,而array_k...转载 2019-05-13 14:11:01 · 2706 阅读 · 0 评论 -
php 数组二维转一维 array_column
array_column(array,column_key,index_key);array 必需。规定要使用的多维数组(记录集)。 column_key 必需。需要返回值的列。 可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。 该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。 ...转载 2019-05-28 10:48:25 · 485 阅读 · 0 评论 -
PHP 在linux中 mkdir 创建文件无法赋予777权限 使用 chmod
if (!file_exists($cover)) { mkdir($cover, 0777, true); chmod($cover, 0777); //赋予权限,mkdir创建权限无法直接赋予777}mkdir创建文件夹权限是drwxr-xr-x 也就是755,假如用其他用户组复制文件等操作会失败,此时使用chmod重新提升一下文件权限即可...原创 2019-06-23 16:17:20 · 3153 阅读 · 0 评论 -
PHP 常用函数
time() 获取当前时间戳 date('Y-m-d H:i:s') 获取当前时间24小时制 date('Y-m-d h:i:s') 获取当前时间12小时制 strtotime() 日期转时间戳 strtotime("-1 day") 获取前一天时间day天month月 year年 mkdir($file, 0777, true) 创建文...原创 2019-08-08 13:10:54 · 428 阅读 · 0 评论 -
PHP in_array() 之判断坑
前几天因为老数据库的一个字段,真是引发了好多坑,然后深入了解了一下`gender` tinyint(4) DEFAULT NULL COMMENT '性别 0女 1男', //不要问我为什么这样存,我也想问然后数据可能会产生三种情况 (NULL)(0)(1)in_array语法:in_array(search,array,type),type可选。如果设置该参数为 true,...原创 2019-08-22 12:01:50 · 453 阅读 · 0 评论 -
PHP 字符串转数组与数组转字符串
//数组按指定方式分割为字符串$arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ",$arr);//字符串按指定规则合并为数组$string = "Hello World love Shanghai";$arr = explode(" ", $pizza);print_r($arr)...转载 2018-04-09 10:14:18 · 8784 阅读 · 2 评论