使用密钥php获取下一个数组项

Dar*_*ric 14 php

我有一个阵列

Array(1=>'test',9=>'test2',16=>'test3'... and so on);
Run Code Online (Sandbox Code Playgroud)

如何通过传递密钥获取下一个数组项.

例如,如果我有钥匙,9那么我应该得到test3结果.如果我有,1那么它应该返回'test2'结果.

编辑使其更清晰

echo  somefunction($array,9); //result should be 'test3'
function somefunction($array,$key)
{
  return $array[$dont know what to use];
}
Run Code Online (Sandbox Code Playgroud)

dec*_*eze 31

function get_next($array, $key) {
   $currentKey = key($array);
   while ($currentKey !== null && $currentKey != $key) {
       next($array);
       $currentKey = key($array);
   }
   return next($array);
}
Run Code Online (Sandbox Code Playgroud)

要么:

return current(array_slice($array, array_search($key, array_keys($array)) + 1, 1));
Run Code Online (Sandbox Code Playgroud)

如果搜索的密钥不存在,则很难用第二种方法返回正确的结果.谨慎使用.

  • @Nobita @deceze很好,但我想知道如果在$ array中找不到$ key会发生什么?这不会创造一个无限循环吗? (3认同)