首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有混合键的PHP关联数组中缺少值

问具有混合键的PHP关联数组中缺少值
EN

Stack Overflow用户
提问于 2018-10-17 03:30:13
回答 2查看 153关注 0票数 2

在研究PHP数组时,我遇到了一个相当有趣的例子:

代码语言:javascript
复制
<?php
$example = array(
        "1"=>"A", 1=>"B", "C", 2=>"D"
);
var_dump($example);
?>

我原以为这段代码会显示三个值: B、C和D。但是,只打印了B和D:

代码语言:javascript
复制
array(2) {
  [1]=>
  string(1) "B"
  [2]=>
  string(1) "D"
}

我理解A被B替换是因为键(字符串)“1”实际上被转换为(int) 1。

我知道整数键是通过在数组的最后一个定义的整数键上加1来创建的。是否将值C替换为D,因为在创建数组时,下一个可能分配给C的整数键是1+1 =2?

EN

回答 2

Stack Overflow用户

发布于 2018-10-17 03:42:05

就是这样。您可以通过将D(顺便说一句,记住引号)分配给不同的键来测试它:

代码语言:javascript
复制
<?php 
    $example = [ "A", "B", 1 => "C" ];
    print_r($example);

<?php
    $example = [ "1" => "A", "1" => "B", "C", 3 => "D" ]; 
    print_r($example);

结果:

代码语言:javascript
复制
Array
(
    [0] => A
    [1] => C
)
Array
(
    [1] => B
    [2] => C
    [3] => D
)
票数 2
EN

Stack Overflow用户

发布于 2018-10-17 03:47:48

您没有正确的引号和数字。试试这个:

代码语言:javascript
复制
<?php
$example = array(
        "1"=>"A", "1"=>"B", "2"=>"C", "3"=>"D"
);

var_dump($example);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52842782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档