php - 如何在不更改其键值的情况下删除数组的第一个元素?

标签 php arrays

<分区>

php中有一个数组

<?php
$array=array("a"=>"123","b"=>"234","c"=>"345");
array_shift($array);
//array("0"=>"234","1"=>"345");
?>

如果我使用这个函数,键值就会改变。我希望我的键值保持不变。如何在不影响数组键值的情况下删除第一个元素。 我的回答应该是这样的

array("b"=>"234","c"=>"345");

注意:请不要使用foreach();我想通过 php 中现有的数组函数来做到这一点

array_splice 函数适用于上述数组。但是考虑下面的数组

<?php
$array = Array
(
    '39' => Array
        (
            'id' => '39',
            'field_id' => '620'
           
        ),

    '40' => Array
        (
            'id' => '40',
            'field_id' => '620',
            'default_value' => 'rrr',
          
));

array_splice($array, 0, 1);
print_r($array);
?>

显示答案如下:

Array ( [0] => Array ( [id] => 40 [field_id] => 620 [default_value] => rrr ) )

请问是什么原因?? array_splice() 仅适用于一维数组吗??现在键值被重置...

最佳答案

如果你不知道第一项的 key 是什么:

// Make sure to reset the array's current index
reset($array);

$key = key($array);
unset($array[$key]);

关于php - 如何在不更改其键值的情况下删除数组的第一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18577087/

相关文章:

将矩阵从 .txt 复制到数组

php - 使用 htaccess 设置 Cookie

php - HTTP 404 - 找不到文件 Internet Explorer V6

php - 如何使用 Twitter 直接消息流作为输入?

javascript - Array.reduce - 对象的奇怪行为

php - 从 While 循环填充 PHP 数组

php - 将数据库数据传递到多个 View -Laravel

javascript - 如何生成只有 7 个字符的 UID 并排除像 imgur.com 这样的重复

arrays - 按索引映射两个数组

c - 将数组传递给 void 函数