【问题标题】:Using square brackets and assigning variables in PHP在 PHP 中使用方括号和分配变量
【发布时间】:2014-02-21 02:59:08
【问题描述】:

我见过这样的源代码:

$something = $sql['value']

我搜索了很多,发现它来自数组。但是我没有理解确切的含义。

例如,

$people = [

 'Susan' => [
    'Age' => 24,
'Phone' => '555-123-4567'
],

  'Jack' => [

  'Age' => 27,

  'Phone' => '555-9876-5432'

  ]
];

echo $people['Jack']['Age']; // 27

我们可以编写如下代码吗?

if(!empty($people)

    $something = $people['a value']

我只需要知道我们如何声明一个变量并在方括号中给出一个值。

【问题讨论】:

  • 请参阅 PHP 数组手册
  • 你能澄清一下吗?访问数组索引会让您感到困惑吗?基本索引是数字,例如 $my_array[0];,但您也可以使用单词或键来执行 $my_array["mrsnuggles"];

标签: php arrays


【解决方案1】:

如果您使用的是$something = $people['a value'],则意味着您正在分配索引为a value$people 数组的值。

所以你没有那个,所以它会抛出你未定义的索引错误

您使用的是嵌套关联数组,您必须使用以下内容进行输出:

echo $people['Jack']['Age'];

你想要一个简短的例子,假设你有一个数组

$people = array('name'=>'Jack');

现在,当您想将名称存储在变量中时,您可以使用

$store_name = $people['name'];

echo $store_name; // Echoes "Jack"

【讨论】:

  • 你能简单解释一下吗?我们在什么情况下使用 $something = $people['a value'] ?
  • 谢谢 ..它在数组中使用吗?
  • 非常感谢。你能帮帮我吗...我也有另一个疑问..$row 也是这样吗?..stackoverflow.com/questions/21423303/rowcolumn-in-php
  • @codemania 你将从数据库获取的结果存储到数组中,然后你用键回显它们,就像我上面解释的那样
  • 那么我们可以使用其他变量来代替 $row 吗?
【解决方案2】:

试试这个:

$people = array(
    'Susan' => array('Age' => 24, 'Phone' =>  '555-123-4567'),
    'Jack'  => array('Age' => 27, 'Phone' => '555-9876-5432')
);

【讨论】:

  • 一样,只是语法不同,OP使用的是新语法
【解决方案3】:

你可以用array这样写

$people = array(
    'Susan' => array(
        'Age' => 24,
        'Phone' => '555-123-4567'
    ),
    'Jack' => array(
        'Age' => 27,
        'Phone' => '555-9876-5432'
    )
);

echo $people['Jack']['Age']; // 27


if(!empty($people)

    $something = $people['a value']

【讨论】:

    【解决方案4】:

    方括号表示索引,因此 $people['a value'] 是位于 $people 数组的 'a value' 索引之下的值。

    方括号也用作array()的快捷方式。See it here-

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 2021-03-13
      • 1970-01-01
      相关资源
      最近更新 更多