首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
宝塔
V2EX  ›  问与答

请教 PHP array_intersect() 函数用法

  •  
  •   peizhao2017 · 128 天前 · 463 次点击
    这是一个创建于 128 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <?php

    $a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");

    $a2=array("e"=>"red","f"=>"black","g"=>"purple");

    $a3=array("a"=>"red","b"=>"black","h"=>"yellow");


    $result=array_intersect($a1,$a2,$a3);

    print_r($result);

    ?>


    官方教程里 array_intersect 里手工指定 $a1,$a2,$a3


    怎么样动态的向 array_intersect 里面传参数呢
    9 回复  |  直到 2019-07-16 20:45:42 +08:00
        1
    Snail233   128 天前
    什么动态不动态的,你直接传不就行了。。。array_intersect([],[])
        2
    liyaoo   128 天前 via iPhone
    动态个数?
        3
    peizhao2017   128 天前
    @liyaoo
    对对,array_intersect 里面的数组数量是变化的,要怎么传进去
        4
    zsdroid   128 天前
    $arr = [
    $arr1,
    $arr2,
    $arr3,
    //...
    ];
    $arr[] = $arr4;
    $arr[] = $arr5;
    call_user_func_array('array_intersect',$arr);
        5
    ccliuxy   128 天前
    array_intersect(...$set)
        6
    peizhao2017   128 天前
    @zsdroid 谢谢,回调函数吗


    @ccliuxy 大神没看懂
        7
    vescape920   128 天前
    4L 和 5L 正解
    PHP5.6 以下可以使用`call_user_func_array('array_intersect',$arr);`
    PHP5.6+ 可以使用 array_intersect(...$set)
        8
    ccliuxy   128 天前
    @peizhao2017
    ```
    $a = array('qqq','rrr','www');
    $b = array('www','ccc');
    $c = array('bbb', 'www', 'ccc');
    $set = array($a, $b, $c);
    print_r(array_intersect(...$set));
    ```
    文档在这里[https://www.php.net/manual/zh/functions.arguments.php#functions.variable-arg-list]( https://www.php.net/manual/zh/functions.arguments.php#functions.variable-arg-list)
        9
    peizhao2017   126 天前
    感谢各位
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2837 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 11:26 · PVG 19:26 · LAX 03:26 · JFK 06:26
    ♥ Do have faith in what you're doing.