我正在寻找一种简单的方法来获取 PHP 也会选择的新元素的数组的下一个数字索引。
示例1:
$array = array();
$array[] = 'new index';
对于这种情况,该值将为 0。
示例 1a:
$array = array(100 => 'prefill 1');
unset($x[100]);
$x[] = 'new index';
对于本例,该值为 101。
示例2:
$array = array(-2 => 'prefill 1' );
$array[] = 'new index';
对于这种情况,这将再次为 0。
示例3:
$array = array(-2 => 'prefill 1', 1 => 'prefill 2' );
$array[] = 'new index';
对于本例,该值为 2。
我现在想知道 PHP 也会为数组中的新元素选择的下一个数字键,但如果可能的话,不会迭代所有数组值。
我需要通过 SPL 实现自己的数组,如果添加新元素但未指定偏移量,则该数组应该模仿 PHP 默认行为。
示例4:
$array = array(-2 => 'prefill 1', 'str-key-1' => 'prefill 2', 1 => 'prefill 3' , 'str-key-2' => 'prefill 4');
$array[] = 'new index';
对于这种情况,这又是 2。
实施例5:
$array = array(-2 => 'prefill-1', 'str-key-1' => 'prefill-2', 1 => 'prefill-3' , '5667 str-key-2' => 'prefill-4');
$array[] = 'new index';
对于这种情况,这也将是 2。
更新:我添加了更多示例来展示一些边缘情况。