代码之家  ›  专栏  ›  技术社区  ›  Austin Hunter

数组类型之间的差异-PHP

  •  0
  • Austin Hunter  · 技术社区  · 6 年前

    这个数组的语法有区别吗?

    dd()

    $array:3 = [
      0 => "email"
      1 => " email"
      2 => " email"
    ]
    

    $array = ['email', 'email', 'email']

    我正在做:

    $email->bcc($bccEmailsArray);

    2 回复  |  直到 6 年前
        1
  •  2
  •   Mike Q    6 年前

    就像别人说的你的问题是 只是语法

    $array:3 = [     // :3 is not valid
      0 => "email"   //no commas
      1 => " email"  //no commas + extra spaces in emails
      2 => " email"  //no commas + extra spaces in emails
    ]
    

    更正为:

    $array = [
      0 => "email",
      1 => "email",
      2 => "email",
    ]
    

    或者对其中任何一个:

    $array = [0=>"email",1 => "email",2 => "email"];
    $array = array(0=>"email", 1=>"email", 2=>"email");
    

    $array = array("email","email","email");
    

    因为这只会产生默认键:

    array(3) {
      [0]=>
      string(5) "email"
      [1]=>
      string(5) "email"
      [2]=>
      string(5) "email"
    }
    

    因此,如果语法正确,两者之间没有区别。

        2
  •  0
  •   mleko    6 年前

    如果第一个示例不是有效的PHP代码,则主要区别在于。

    部分 array:3 使其无效。

    $array = [
      0 => "email",
      1 => "email",
      2 => "email"
    ];
    

    $array = ['email', 'email', 'email'];
    

    除此之外,在第一个例子中,一些“email”以空格开头,两个数组都是相等的。如果不显式提供键,则元素将从0开始编号。

    documentation .