githere
V2EX  ›  PHP

请教一段 PHP 代码的意思

  •  
  •   githere · Jan 29, 2019 · 4221 views
    This topic created in 2659 days ago, the information mentioned may be changed or developed.
    <?php
    function key_compare_func($a, $b)
    {
    if ($a === $b) {
    return 0;
    }
    return ($a > $b)? 1:-1;
    }

    $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
    $array2 = array("a" => "green", "yellow", "red");
    $result = array_diff_uassoc($array1, $array2, "key_compare_func");
    print_r($result);
    ?>


    请问: return ($a > $b)? 1:-1;
    这一行具体是什么意思,如何执行的?不太明白这一行代码的意思
    14 replies    2019-01-30 11:26:51 +08:00
    DonaidTrump
        1
    DonaidTrump  
       Jan 29, 2019
    三元运算符
    mamahaha
        2
    mamahaha  
       Jan 29, 2019
    它在问你是不是$a 大于$b,如果是就 return 1,如果不是就 return -1。。。我没学过编程的都看明白了。
    via
        3
    via  
       Jan 29, 2019 via iPhone
    日常黑 PHP
    qY3209HZitEb5Zty
        4
    qY3209HZitEb5Zty  
       Jan 29, 2019
    if ($a > $b) {
    return 1;
    } else {
    return -1;
    }
    GeekCourse
        5
    GeekCourse  
       Jan 29, 2019 via Android
    你的疑问到底是什么呢?
    仅仅是不知道那一行代码的作用吗?
    还是在疑惑为什么通过返回-1/0/1 就可以排序?
    jingyulong
        6
    jingyulong  
       Jan 29, 2019
    三元运算符,好多语言里面都有的。
    githere
        7
    githere  
    OP
       Jan 29, 2019
    githere
        8
    githere  
    OP
       Jan 29, 2019
    @GeekCourse 为什么通过返回-1/0/1 就可以排序?
    cpdyj0
        9
    cpdyj0  
       Jan 29, 2019
    @githerephp.net 查文档吧。
    MonoLogueChi
        10
    MonoLogueChi  
       Jan 29, 2019 via Android
    上面是三目运算,如果 a 大于 b 为真,返回:前面地区,否则返回:后面的。
    第二个问题,百度 array_diff_uassoc
    zhuzhibin
        11
    zhuzhibin  
       Jan 29, 2019 via iPhone
    买了否冷?兄弟去看看三元运算符吧
    chotow
        12
    chotow  
       Jan 29, 2019 via iPhone
    想起了太空舱操作符,$a <=> $b。
    way2create
        13
    way2create  
       Jan 30, 2019
    这不就是 array_diff_uassoc 的示例吗
    898601566
        14
    898601566  
       Jan 30, 2019
    在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。

    文档上说的很明白啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5682 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 07:01 · PVG 15:01 · LAX 00:01 · JFK 03:01
    ♥ Do have faith in what you're doing.