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也可以使用

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

你可能感兴趣的:(version)