首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么PHP丢失数组的项值?

为什么PHP丢失数组的项值?
EN

Stack Overflow用户
提问于 2017-02-13 12:39:13
回答 6查看 201关注 0票数 6

我有一个具有值的数组:

代码语言:javascript
运行
复制
$array1 = array('Boss', 'Lentin', 'Endless'); 
print_r ($array); 

其结果将是:

代码语言:javascript
运行
复制
Array ( [0] => Boss [1] => Lentin [2] => Endless

没问题的。

但是,如果我用一个键将两个元素添加到这个数组中,那么"Boss“元素就会丢失。

代码语言:javascript
运行
复制
$array2 = array("1"=>'Doctor','Boss', 2=>'Lynx', 'Lentin', 'Endless');
print_r ($array2);

其结果将是:

代码语言:javascript
运行
复制
Array ( [1] => Doctor [2] => Lynx [3] => Lentin [4] => Endless ) 
//Where is "BOSS"???

为什么?

EN

Stack Overflow用户

发布于 2017-02-13 13:17:02

首先我建议你读一读"http://php.net/manual/en/language.types.array.php",

现在来看看php中的答案,数组键可以是字符串或整数,如果没有提到键,则设置默认整数,下一个数组键的值取决于前一个数组整数键的意思。

下一个数组键=前一个整数键+ 1;

在PHP数组中,相同的键值将被相同的键覆盖

现在让我们了解一下您的array2:

代码语言:javascript
运行
复制
<?php
$array2 = array("1"=>'Doctor','Boss', 2=>'Lynx', 'Lentin', 'Endless');

1)当您使用"1“键启动数组时, 因此,对于第一个键值是1 =>‘医生’ 当前数组类:数组(1 =>“医生”)

下一个键=前一个整数键(即1) +1= 2;

2)对于第二个键值为2 => 'BOSS‘ 当前数组类:数组(1 =>‘医生’,2 => 'BOSS') 3) next key =以前的整数键(即2) +1=3,它将携带到下一个键,但正如您所提到的,下一个键是2 => 'Lynx‘,所以在键2处,值'BOSS’将值重写为'Lynx';当前的数组如下:数组(1 =>‘array’,2 => 'Lynx')

现在我们的下一个钥匙是3

4)下一个值的键是3 => 'Lentin‘ 当前阵列:阵列(1 =>‘博士’,2 => 'Lynx',3 => 'Lentin'); 下一个键=前一个整数键(即3) +1= 4; 5)下一个值的键是4 =>‘没完没了’ 当前阵列:阵列(1 =>‘博士’,2 => 'Lynx',3 => 'Lentin',4 =>‘无止境’);

这就是为什么最后的数组如下所示:

代码语言:javascript
运行
复制
array(
        [1] => 'Doctor', 
        [2] => 'Lynx', 
        [3] => 'Lentin', 
        [4] => 'Endless'
    );
票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42204262

复制
相关文章

相似问题

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