我有一个特定顺序的项目列表,所以我决定将它们存储在一个数组中
$items = array(
"apple",
"banana",
"pear"
);
Run Code Online (Sandbox Code Playgroud)
如果使用参数"banana"调用程序,我需要能够说出"apple"之前和"pear"之后.目前我正在做这样的事情:
foreach($items as $k=>$v) { if ($v == "banana") { $current_key = $k }
Run Code Online (Sandbox Code Playgroud)
所以现在我知道$ current_key -1是先前的,而+1是下一个.它可以工作,只是感觉难以迭代整个数组.有一个更好的方法吗?
更新 如果有人关心,我决定做一些快速测试,看看获取信息的方式有多快.超过1000次迭代,在6000个项目的数组上,microtime重新调整:
我发布的方式:4.567 Array_Search:2.749
虽然我在想我也尝试了一种方法,将数据存储在一个数组数组中,如:
$items['banana']['next'] = 'pear';
$items['banana']['prev'] = 'apple';
Run Code Online (Sandbox Code Playgroud)
当然,这是英里(0.0005)的胜利者.这些都不是真的相关,我只是很好奇并且想与任何阅读此内容的人分享.
| 归档时间: |
|
| 查看次数: |
232 次 |
| 最近记录: |