请有人解释一下php中的内容


please someone explain me what is this in php?

每个人。我在我的测试php中编写了这段代码。一旦我在浏览器中执行,它只显示数组的首字母。更进一步,这里是我的代码:

$args = array ('computer'=>'pentium', 'notebook'=>'atom', 'gadget'=>'tab');foreach ($args as $key => $val){echo $key['val'];}

在我的浏览器中得到的结果是"cng",我认为c=电脑,n=笔记本,g=小工具。

那么,有人能解释一下这是怎么发生的吗?

提前感谢

PHP将$key['val']评估为$key[0],并为您提供每个"密钥"的第一个字母

在您的示例中,$key不是一个数组,它是一个字符串,包含通过$args的各个迭代的computernotebookgadget。PHP将'val'计算为整数,因为您正在对字符串调用数组键语法。

来自PHP文档

可以通过指定来访问和修改字符串中的字符使用方括号,如$str[42]中所示。将字符串想象为数组用于此目的的字符数。函数substr()和当您想要提取或替换更多内容时,可以使用substra_replace()超过1个字符。

"Foreach"循环根据数组的长度遍历数组。它分离数组中的值和键,并将它们转换为字符串——例如,在循环给出以下输出后进行迭代的情况下。

     echo $key; // "computer"
     echo $val; // "pentium"

您可以通过在每次迭代中只使用$val来获得值。因此,在每次迭代之后,都会根据数组中的值出现一对新的$key和$value。希望你得到它。