• 为什么解析 array_column不可用,


           不久前,自己在一个小项目,我要拿出每个元素的一维数组key的值,一维阵列的形成,突然想到php 有一种功能,实现.

            

    $array = array (
    		array (
    				"id" => 12,
    				"name" => "Karl" 
    		),
    		array (
    				"id" => 4,
    				"name" => "Franz" 
    		),
    		array (
    				"id" => 9,
    				"name" => "Helmut" 
    		),
    		array (
    				"id" => 10,
    				"name" => "Kurt" 
    		) 
    );
    print_r(array_column($array, 'id'));

          但出错了,网页上错误提示是 no function  没有这个函数,但手冊是有的,为什么呢?

    打开手冊才知道是php 5.5新增的,而我的php版本号确实 php 5.3所以没有,怎样攻克了.于是我写了

    以下两种算法

      第一种算法例如以下所看到的:

         

    $key = 'id';
    $array = array (
    		array (
    				"id" => 12,
    				"name" => "Karl" 
    		),
    		array (
    				"id" => 4,
    				"name" => "Franz" 
    		),
    		array (
    				"id" => 9,
    				"name" => "Helmut" 
    		),
    		array (
    				"id" => 10,
    				"name" => "Kurt" 
    		) 
    );
    $ar = array_map ( function ($element) use($key) {
    	$newarray = array ();
    	if (array_key_exists ( $key, $element )) {
    		$newarray = $element [$key];
    	}
    	return $newarray;
    }, $array );
    print_r ( $ar );

    上面有个函数  function ($element) use ($key)  结构 请訪问  点击打开链接


    另外一种方法是:


    function array_merge_on_key($key, $array1, $array2) {
          $arrays = array_slice(func_get_args(), 1);
          $r = array();
          foreach($arrays as &$a) {
             if(array_key_exists($key, $a)) {
                $r[] = $a[$key];
                continue;
             }
          }
          return $r;
       }
       // example:
       $array1 = array("id" => 12, "name" => "Karl");
       $array2 = array("id" => 4, "name" => "Franz");
       $array3 = array("id" => 9, "name" => "Helmut");
       $array4 = array("id" => 10, "name" => "Kurt");
    
       $result = array_merge_on_key("id", $array1, $array2, $array3, $array4);
       print_r($result);

      但是我特别喜欢使用数组功能 array_map()这样的结构.

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    视频流媒体服务器网络硬盘录像机NVR接入/解码/转发能力解析
    流媒体服务器安装失败/程序启动错误等问题解决方案
    监控摄像头如何用作网络直播?
    数据库之单表查询
    数据库之表与表之间的关系
    数据库之完整性约束
    数据库之数据类型
    数据库之增删改查操作
    数据库之基本操作和存储引擎
    数据库之数据库基础及安装
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4795916.html
Copyright © 2020-2023  润新知