array_column php 函数 自定义版本 php_version<5.5

<?php
if(!function_exists(‘array_columns‘))
    {
        /*
         * array_column() for PHP 5.4 and lower versions
        */
        function array_columns($input,$column_key,$index_key=‘‘)
        {
            if(!is_array($input)) return;
            $results=array();
            if($column_key===null){
                if(!is_string($index_key)&&!is_int($index_key)) return false;
                foreach($input as $_v){
                    if(array_key_exists($index_key,$_v)){
                        $results[$_v[$index_key]]=$_v;
                    }
                }
                if(empty($results)) $results=$input;
            }else if(!is_string($column_key)&&!is_int($column_key)){
                return false;
            }else{
                if(!is_string($index_key)&&!is_int($index_key)) return false;
                if($index_key===‘‘){
                    foreach($input as $_v){
                        if(is_array($_v)&&array_key_exists($column_key,$_v)){
                            $results[]=$_v[$column_key];
                        }
                    }
                }else{
                    foreach($input as $_v){
                        if(is_array($_v)&&array_key_exists($column_key,$_v)&&array_key_exists($index_key,$_v)){
                            $results[$_v[$index_key]]=$_v[$column_key];
                        }
                    }
                }

            }
            return $results;
        }
    }
    $testArray=array(
        array(0=>‘Girl‘,‘name‘=>‘Judy‘),
        array(0=>‘Boy‘,‘name‘=>‘Jerry‘)
    );
    echo ‘<pre>‘;
    print_r(array_columns($testArray,‘name‘));
    print_r(array_columns($testArray,0,‘name‘));
    exit;
?>

  自定义的array_column函数实现 php版本小于5.5也可以使用

时间: 2024-10-13 23:38:19

array_column php 函数 自定义版本 php_version<5.5的相关文章

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例

EL表达式 JSTL的标签库 EL的函数 自定义EL函数 自定义标签 JSP的开发模式 注册登陆案例 EL表达式 1.获取域对象中的值 2.EL表达式支持运算 ${ num1 + num2 } EL获取常用的WEB对象 1.pageScope 获取page域对象的值 2.requestScope 获取request域对象的值 3.sessionScope 获取session域对象的值 4.applicationScope 获取application域对象的值 * 例子:向某个域中来存入值 req

任意输入一个4位正整数,调用函数(函数自定义)输出该正整数数的各位数 字组成的最大数。

/*任意输入一个4位正整数,调用函数(函数自定义)输出该正整数数的各位数字组成的最大数.*/#include <stdio.h>int numb(int a){ int i = 0, j = 0,sum = 0, b[4]; b[0] = a%10; b[1] = a/10%10; b[2] = a/100%10; b[3] = a/1000; for (i = 0 ;i < 4; i++) { for(j = 0;j < 3 - i; j++) { if(b[j] > b[

SQL 如果存在就更新,如果不存在就添加,使用 Merge 函数(SQL2008版本及以上)

USE [NationalUnion] GO /****** Object: StoredProcedure [dbo].[proc_DataSummary] Script Date: 07/03/2014 15:33:11 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO alter proc [dbo].[proc_DataSummary20140703] ( @UserID bigint--, --@Level int ) a

oracle中WMSYS.WM_CONCAT函数的版本差异

昨天在测试的时候发现,开发人员写的一段程序放在开发库中是好的,但是放在测试库中就会有问题.开发人员一直找不到问题的原因在哪里.于是就花了点时间协助开发人员来找问题的根本原因. 通过一些技术手段,定位到问题是由一个SQL语句引起的. SQL语句如下: WITH PXQ_TASK_TEMP AS (SELECT A.DISTRIBUTE_DATE,          A.APP_NO,          A.TASK_ID,          A.TASK_NO,          A.ACTUAL

Java/Android中的函数调用&amp;回调函数&amp;自定义回调函数

在做Android自定义控件时遇到要自定义回调函数的问题,想想自己还暂时没有那么精深的技术,赶紧返过头回来再重新研究Java中回调函数的问题.然而不幸的是,网上太多杂乱的帖子和博客都是转来转去,而且都是那一篇"C中的回调函数.....指针.....java....",一点看不出来是自己的思路,估计都是哪哪哪抄来的!(呵呵,要么就是吐槽对了,要么就是我水平太烂读不懂还妄加评论)还有一些很不错的文章,我会在最后参考中加上链接,大家可以看看. 那么来开始我们的正题--什么是回调函数? 我们一

彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义

原文  http://www.cnblogs.com/Bonnie83/p/3525200.html 初学性能测试时候,第一步必学脚本录制,但一路下来各种录制失败.回放脚本失败的问题层出不穷,究其原因一是LR本身存在对测试环境的兼容性问 题导致录制失败,更深层次的原因是录制者不清楚LR录制脚本的原理,或者不清楚客户端与服务器端之间的请求和应答内容及通信方式,导致一旦出现脚本执行失 败便无从下手.最近在做项目的一个接口测试时候,因请求是合作第3方发起的且不容易让第3方提供他们的平台给我们做测试,所

UI程序执行顺序(UIApplicationMain()函数),自定义视图

UI程序的一般执行顺序: 先进入main里面,执行函数UIApplicationMain(),通过该函数创建应用程序对象和指定其代理并实现监听,当执行函数UIApplicationMain()时还会做一次跳转,跳转至AppDelegate UIApplicationMain() 函数的三大功能: 1.创建应用的UIApplication对象 2.指定应用程序的代理对象,代理的主要作用:监听应用程序是如何运行的. 3.建立事件循环(runloop:这个循环是一个死循环).作用:一旦用户操作应用程序

array_column php 函数

今天想从二维数组中取某个列成一维数组 结果发现 array_column需要php5.5支持才行 然后自己写了一个仿造版本的array_column 两种思路 1.直接遍历 取值给追加数组 返回 2.先把二维数组key确定下来 遍历key 通过key取值追加数组 返回 结果发现 第二种方法快得多 感觉很奇怪 猜想是因为索引数组遍历更快导致:

在SAE上搭建自定义版本WordPress, 并用SAE Storage代替WordPress Uploads

问题由来: 1. SAE中默认的WP for SAE版本太低, 导致某些基于新版本WordPress的插件不能使用. 2. SAE中单个APP的代码空间仅有100M. 将WordPress中uploads目录替换为SAE的Storage, 可提供10G的存储空间用以存放图片等数据. 安装配置步骤: 创建新SAE应用, 选择空白php模板, e.g, 新应用ID: stormrider. 点击管理应用. 在服务管理中, 开启MySql服务. 在服务管理中, 点击Storage, 新建一个Domai