我正在尝试做某事,但找不到任何解决方案,我在将其投入使用时也遇到了一些麻烦,所以这是一个示例代码,也许足以证明我的目标是:
$input = array
(
'who' => 'me',
'what' => 'car',
'more' => 'car',
'when' => 'today',
);
现在,我想使用array_splice()
从数组中删除(并返回)一个元素:
$spliced = key(array_splice($input, 2, 1)); // I'm only interested in the key...
以上将从$input
(第一个参数)在偏移量 2(第二个参数)处删除并返回 1 个元素(第三个参数),因此$spliced
将保留 value more
。
我将使用 foreach 循环进行迭代$input
,我知道要拼接的键,但问题是我不知道它的数字偏移量,因为array_splice
只接受整数我不知道该怎么做。
一个非常无聊的例子:
$result = array();
foreach ($input as $key => $value)
{
if ($key == 'more')
{
// Remove the index "more" from $input and add it to $result.
$result[] = key(array_splice($input, 2 /* How do I know its 2? */, 1));
}
}
我首先想到的是使用array_search()
,但它没有意义,因为它会返回关联索引....
如何确定关联索引的数字偏移量?