gpt4 book ai didi

PHP 数组 - 括号

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:37 25 4
gpt4 key购买 nike

是否有人知道在创建 PHP 数组时 [ ] 的含义,以及是否真的需要它。因为从我的角度来看。两种方式都够了

方式一,带括号:

$cars[] = array ('expensive' => $BMW,
'medium' => $Volvo,
'cheap' => $Lada);

Way2,没有括号:

$cars   = array ('expensive' => $BMW,
'medium' => $Volvo,
'cheap' => $Lada);

最佳答案

阅读http://php.net/manual/en/function.array-push.php以获得关于差异的明确答案。

主要区别:

  • 引用 array()只能在创建变量时完成。
  • $var[] 可以将值添加到已经存在的数组中。
  • $var[] 将创建一个数组,实际上与 $var = array(...);相同的函数调用

还有

  • 您不能使用 $var[] 在单个声明中分配多个值方法(参见下面的示例 4)

一些工作:

1) 使用array()

$cars = "cats";
$cars = array("cars","horses","trees");

print_r($cars) ;

会输出

$cars --> [0] = cars
[1] = horses
[2] = trees

2) 附加值

然后写$cars = array("goats");不会附加值,而是会初始化一个新数组,给出:

 $cars --> [0] = goats

但是如果你使用方括号追加然后写$cars[] = "goats"会给你:

 $cars --> [0] = cars
[1] = horses
[2] = trees
[3] = goats

您最初的问题是指 = 右侧的任何内容如果左侧的语法为 $var[],则符号将附加到当前数组。但这将被附加数字。如上所示。

您可以通过填写键值来按键名附加内容:$cars['cheap'] = $Lada; .

您的示例 1 设置一个数组保存在一个数组中,因此要访问值 $Lada,您将引用 $cars[0]['cheap'] .示例 2 设置了数组,但将覆盖变量中的任何现有数组或值。

3) 字符串和数字索引

使用方法array(...)当这些值具有非数字或数字非线性键时,语法适用于在创建数组时定义多个值,例如您的示例:

$cars = array ('expensive' => "BMW",
'medium' => "Volvo",
'cheap' => "Lada");

将输出数组:

   $cars --> ['expensive'] = BMW
['medium'] = Volvo
['cheap'] = Lada

但是如果您使用以下替代语法:

$cars[] = "BMW";
$cars[] = "Volvo";
$cars[] = "Lada";

这将输出:

$cars --> [0] = BMW
[1] = Volvo
[2] = Lada

4) 我还在写....

另一个例子:你可以结合使用 array() 的效果和 $var[]因此在方括号内有关键声明:

$cars['expensive'] = "BMW";
$cars['medium'] = "Volvo";
$cars['budget'] = "Lada";

给予:

   $cars --> ['expensive'] = BMW
['medium'] = Volvo
['cheap'] = Lada

(我原来的回答很冗长而且不是很好)。

5) 最后......

那么当你结合这两种风格,混合 array() 时会发生什么?用 $var[] 声明补充:

$ray = array("goats" => "horny", "knickers" => "on the floor", "condition" => "sour cream");
$ray[] = "crumpet";
$ray[] = "bread";

这将维护数组中的数字和字符串键索引,输出为 print_r() :

$ray --> [goats] => horny
[knickers] => on the floor
[condition] => sour cream
[0] => crumpet
[1] => bread

关于PHP 数组 - 括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com