私は何かをしようとしていますが、解決策が見つかりません。また、それを機能させるのに問題があるので、ここにサンプルコードがあります。おそらく、私が目指していることを示すのに十分でしょう。
$input = array
(
'who' => 'me',
'what' => 'car',
'more' => 'car',
'when' => 'today',
);
array_splice()
ここで、配列から1つの要素を削除(および返す)するために使用したいと思います。
$spliced = key(array_splice($input, 2, 1)); // I'm only interested in the key...
上記は$input
、オフセット2(2番目の引数)で(最初の引数)から1つの要素(3番目の引数)を削除して返す$spliced
ため、値を保持しますmore
。
$input
foreachループを繰り返し処理します。スプライスするキーはわかっていますが、問題は、その数値オフセットがわからないことと、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()
ましたが、連想インデックスを返すので無意味です...。
連想インデックスの数値オフセットを決定するにはどうすればよいですか?