分享 php array_column 函数 无法在低版本支持的 修改
function i_array_column($input, $columnKey, $indexKey=null){
if(!function_exists('array_column')){
$columnKeyIsNumber = (is_numeric($columnKey))?true:false;
$indexKeyIsNull = (is_null($indexKey))?true :false;
$indexKeyIsNumber = (is_numeric($indexKey))?true:false;
$result = array();
foreach((array)$input as $key=>$row){
if($columnKeyIsNumber){
$tmp= array_slice($row, $columnKey, 1);
$tmp= (is_array($tmp) && !empty($tmp))?current($tmp):null;
}else{
$tmp= isset($row[$columnKey])?$row[$columnKey]:null;
}
if(!$indexKeyIsNull){
if($indexKeyIsNumber){
$key = array_slice($row, $indexKey, 1);
$key = (is_array($key) && !empty($key))?current($key):null;
$key = is_null($key)?0:$key;
}else{
$key = isset($row[$indexKey])?$row[$indexKey]:0;
}
}
$result[$key] = $tmp;
}
return $result;
}else{
return array_column($input, $columnKey, $indexKey);
}
}
分享 php array_column 函数 无法在低版本支持的 修改的更多相关文章
- 配置node低版本支持ES7
由于node的版本为6.*,不升级情况下,能使用ES7的 async await 特性, 在目录下 添加 start.js package.json里添加依赖配置 重新npm install 下载依赖 ...
- 【笔记】CSS选择器整理(IE低版本支持性测试)
时间:2015.05.11 参考附件:css选择器.xmind(网友共享) 查看链接:http://www.w3school.com.cn/cssref/css_selectors.asp htt ...
- cocos2dx旧版本支持arm64修改
修改的版本是cocos2dx.2.2 1.在neon_matrix_impl.c中修改 #if defined(__ARM_NEON__)为 #if defined(_ARM_ARCH_7) 2.在m ...
- 本地存储组件--兼容IE低版本
在前端开发过程中,会用到本地缓存,但是由于浏览器对不同规范支持的程度不一样,每次进行使用都要为兼容行花费不少时间.我整理了一个本地存储的组件. 组件特点: 可以配置使用localSto ...
- array_column()函数兼容低版本
array_column 用于获取二维数组中的元素(PHP 5.5新增函数),但我们有时候需要在低版本的 function i_array_column($input, $columnKey, $in ...
- 模拟实现兼容低版本IE浏览器的原生bind()函数功能
模拟实现兼容低版本IE浏览器的原生bind()函数功能: 代码如下: if(!Function.prototype.bind){ Function.prototype.bind=function( ...
- 分享vs低版本开发的项目到VS高版本时遇到的4个小问题解决之记录
分享vs低版本开发的项目到VS高版本时遇到的4个小问题解决之记录 原文首发: http://anforen.com/wp/2017/08/extensionattribute_compilerserv ...
- Android 低版本sdk中没有getSupportedPreviewSizes和getSupportedPictureSizes函数怎么办?
在做camera和SurfaceView做摄像头程序时,需要获取camera支持的相片大小,在低版本sdk中没有getSupportedPictureSizes函数,怎么办呢,请参阅下面的关键代码: ...
- 让低版本的 Android 项目显示出 Material 风格的点击效果
每天都被不同的需求纠缠的生活是幸福而又不幸的,这不我们家亲爱的设计师们又让我们在低版本的 Android 平台上实现一下类似于 Material Design 的点击效果. 虽然大家都知道 Mater ...
随机推荐
- BZOJ3693: 圆桌会议(Hall定理 线段树)
题意 题目链接 Sol 好的又是神仙题... 我的思路:对于区间分两种情况讨论,一种是完全包含,另一种是部分包含.第一种情况非常好判断,至于计算对于一个区间[l, r]的$\sum a[i]$就可以了 ...
- 前端js优化方案(一)
最近在读<高性能javascript>,在这里记录一下读后的一些感受,顺便加上自己的一些理解,如果有兴趣的话可以关注的我的博客http://www.bloggeng.com/,我会不定期发 ...
- String对象中常用的方法有哪些?
1.length()字符串长度 String str="abc"; System.out.println(str.length()); //输出3 2.charAt()截取一个字符 ...
- 观察者模式(Observe Pattern)
观察者模式: 当对象存在一对多关系时,使用观察者模式(Observe Pattern).例如:当一个对象被修改时,会通知它的依赖对象. 介绍: 1.意图:定义对象的一种一对多的依赖关系,当一个对象的状 ...
- OpenFirewall
1.写一份json文件:将要添加防火墙例外的应用程序和端口写入到json文件中 2.打开防火墙,读取json文件添加例外 /// <summary> /// Firewall.xaml 的 ...
- vue+node+mongodb实现的页面
源代码地址:https://github.com/GainLoss/vue-node-mongodb 目前这个项目实现的是: 1.利用vue-cli实现前台页面的编写 (1)页面的跳转利用的是vue- ...
- win10 U盘重装
之前用一键重装软件装系统后,D盘留下了一个PE系统,后来我装双系统装好Ubuntu后,打开Ubuntu结果出现了那个PE系统,最后没办法只好重装win10. 重装系统主要有三种方法,参见:链接 因为电 ...
- map 容器(copy)
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数: map<stri ...
- linux 命令——21 find(转)
在 使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命 令长度有限制,这样在find命令运行几分钟之后,就 ...
- 知名nodeJS框架Express作者宣布弃nodeJS投Go
知名 nodeJS 框架 Express 的作者 TJ Holowaychuk 在 Twitter 发推并链接了自己的一篇文章,宣布弃 nodeJS 投 Go. 他给出的理由是:Go 语言和 Rust ...