我有一个带有特定键的数组:
array(
420 => array(...),
430 => array(...),
555 => array(...)
)
在我的应用程序中,我知道当前的密钥(例如555
)。我想获取前一个数组元素。在此示例中,它是带有键的数组元素430
。我怎样才能在 PHP 中做到这一点?我尝试与prev()
,但是对于这个函数我们应该知道当前的数组元素。我没有找到设置当前数组元素的函数。
一种选择:
To 将内部指针设置到某个位置 https://stackoverflow.com/questions/795625/how-to-set-an-arrays-internal-pointer-to-a-specific-position-php-xml,你必须转发它(使用key http://www.php.net/manual/en/function.key.php and next http://www.php.net/manual/en/function.next.php,也许做一个reset http://www.php.net/manual/en/function.reset.php确保从数组的开头开始):
while(key($array) !== $key) next($array);
Then您可以使用prev() http://www.php.net/manual/en/function.prev.php:
$prev_val = prev($array);
// and to get the key
$prev_key = key($array);
根据您之后要对数组执行的操作,您可能想要reset http://www.php.net/manual/en/function.reset.php内部指针。
如果数组中不存在该键,则会出现无限循环,但这可以通过以下方法解决:
while(key($array) !== null && key($array) !== $key)
当然prev
不会再给你正确的值,但我假设你正在搜索的键无论如何都会在数组中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)