代码之家  ›  专栏  ›  技术社区  ›  Léo Léopold Hertz 준영

php中“=>”是什么意思?

php
  •  88
  • Léo Léopold Hertz 준영  · 技术社区  · 15 年前

    什么是 => 在下面的代码中,运算符的意思是?

    foreach ($user_list as $user => $pass)
    

    代码是php.net上的注释。 用户未指定的值 $user_list , $user 或者是通行证。 我通常看到 = & gt; 表示等于或大于。

    但是,我不确定它在这里的用途,因为它没有被分配。 我把代码读作

    1. 处理整数用户列表
    2. 使每个用户的值等于或大于密码

    对我来说,以上这些都没有意义。

    6 回复  |  直到 9 年前
        1
  •  116
  •   hawbsl    10 年前

    => 是关联数组的分隔符。在foreach循环的上下文中,它将数组的键赋给 $user 价值 $pass .

    例子:

    $user_list = array(
        'dave' => 'apassword',
        'steve' => 'secr3t'
    );
    
    foreach ($user_list as $user => $pass) {
        echo "{$user}'s pass is: {$pass}\n";
    }
    // Prints: 
    // "dave's pass is: apassword"
    // "steve's pass is: secr3t"
    

    请注意,这也可以用于数字索引数组。

    例子:

    $foo = array('car', 'truck', 'van', 'bike', 'rickshaw');
    foreach ($foo as $i => $type) {
        echo "{$i}: {$type}\n";
    }
    // prints:
    // 0: car
    // 1: truck
    // 2: van
    // 3: bike
    // 4: rickshaw
    
        2
  •  21
  •   Tyler Carter    15 年前

    它意味着将密钥分配给$user,变量分配给$pass

    当你分配一个数组时,你这样做

    $array = array("key" => "value");
    

    它使用相同的符号处理foreach语句中的数组。“=>”链接键和值。

    根据 PHP Manual “=>”创建了键/值对。

    同样,等于或大于是相反的方式:“>=”。在php中,大于或小于号总是放在第一位:“>=”,“<=”。

    作为旁注,排除第二个值并不像你想象的那样有效。它不是只给你钥匙,而是只给你一个值:

    $array = array("test" => "foo");
    
    foreach($array as $key => $value)
    {
        echo $key . " : " . $value; // Echoes "test : foo"
    }
    
    foreach($array as $value)
    {
        echo $value; // Echoes "foo"
    }
    
        3
  •  11
  •   Peter Mortensen icecrime    9 年前

    类似“a=>b”的代码表示,对于关联数组 (有些语言,比如 Perl ,如果我没记错的话,叫那些“hash”)。 ,该“a”是键,“b”是值。

    您可能需要查看以下文件:

    这里,您有一个数组,名为 $user_list ,然后您将遍历它,为每一行获取 $user ,和中的相应值 $pass .

    例如,此代码:

    $user_list = array(
        'user1' => 'password1',
        'user2' => 'password2',
    );
    
    foreach ($user_list as $user => $pass)
    {
        var_dump("user = $user and password = $pass");
    }
    

    将得到这个输出:

    string 'user = user1 and password = password1' (length=37)
    string 'user = user2 and password = password2' (length=37)
    

    (我正在使用) var_dump 要生成一个好的输出,这有助于调试;要获得正常的输出,您可以使用 echo )


    “equal or greater”是arround的另一种方式:“greater or equals”,它是用php编写的,如“>=
    大多数语言来自C:C++,Java,PHP,…


    作为一个建议:如果你刚开始使用PHP,你肯定要花一些时间 (可能几个小时,甚至半天,甚至一整天) 浏览手册的某些部分:—)
    这对你有很大帮助!

        4
  •  6
  •   Scharrels    9 年前

    php中的数组是键到值的映射:

    $array = array();
    $array["yellow"] = 3;
    $array["green"] = 4;
    

    如果要对数组中的每个键值对执行某些操作,可以使用 foreach 控制结构:

    foreach ($array as $key => $value)
    

    $array变量是您将要使用的数组。$key和$value变量将在 前额 循环。在本例中,它们首先包含“黄色”和3,然后包含“绿色”和4。

    如果您不关心这些键,可以使用其他符号:

    foreach ($array as $value)
    
        5
  •  4
  •   Meredith L. Patterson    15 年前

    默认情况下,PHP中的数组是关联数组(也称为字典或哈希)。如果您没有显式地为一个值分配一个键,那么解释器将为您静默地这样做。所以,上面的表达式迭代 $user_list ,使密钥可用为 $user 可用值为 $pass 作为主体中的局部变量 foreach .

        6
  •  3
  •   iblue    12 年前

    $user_list 是一个数据数组,当循环通过时,可以将其拆分为名称和值。

    在这种情况下,它的名字是 $user 它的价值是 $pass .