doqp87012 2013-01-12 07:36
浏览 151
已采纳

array_intersect里面的多维数组

i have an multidimensioanl array which can increase based on user input.i want to do array_intersect inside the array to get the common values between the key.

like example

Array ( [php] => Array ( [0] => 36 [1] => 51 [2] => 116 [3] => 171 [4] => 215 [5] => 219 [6] => 229 [7] => 247 [8] => 316 ) [java] => Array ( [0] => 14 [1] => 16 [2] => 19 [3] => 24 [4] => 25 [5] => 26 [6] => 29 [7] => 31 [8] => 33 [9] => 34 [10] => 35 [11] => 36 [12] => 37 [13] => 40 [14] => 45 [15] => 49 [16] => 51 ) ) 

expected output should be like (36,51)

and this is i am able to get it

via this,

$intersected_array = call_user_func_array('array_intersect', $array);

but if my array had a third key also which doesnot had a common value in all three of them

like

Array ( [php] => Array ( [0] => 36 [1] => 51 [2] => 116 [3] => 171 [4] => 215 [5] => 219 [6] => 229 [7] => 247 [8] => 316 ) [java] => Array ( [0] => 14 [1] => 16 [2] => 19 [3] => 24 [4] => 25 [5] => 26 [6] => 29 [7] => 31 [8] => 33 [9] => 34 [10] => 35 [11] => 36 [12] => 37 [13] => 40 [14] => 45 [15] => 49 [16] => 51 ) [ajax] => Array ( [0] => 91 [1] => 110 [2] => 113 [3] => 172 ) ) 

then it is throwing me output as the result of the key having max values. in this case it will return me all the values of java key.

but my expected output is 0. please help.

  • 写回答

1条回答 默认 最新

  • dongmeiran609914 2013-01-12 07:52
    关注

    I copyed you example and for me it works:

    <?php
    
    $array = array(
        'php' => array(
            36,
            51,
            116,
            171,
            215,
            219,
            229,
            247,
            316,
        ),
        'java' => array(
            14,
            16,
            19,
            24,
            25,
            26,
            29,
            31,
            33,
            34,
            35,
            36,
            37,
            40,
            45,
            49,
            51,
        ),
        'ajax' => array(
            91,
            110,
            113,
            172,
        ),
    );
    
    $intersected_array = call_user_func_array('array_intersect',$array);
    
    print_r($intersected_array);
    
    // RESULT: "Array ( ) "
    

    Please copy exactly this code and tell me your output.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?