从特定键迭代php数组
发布时间:2020-12-13 21:51:26 所属栏目:PHP教程 来源:网络整理
导读:我的问题没有找到任何答案. 我知道如何在 PHP中迭代数组但我想从特定的键迭代一个数组. 假设我有一个巨大的阵列 $my_array = array(......["adad"] = "value X",["yy"] = "value Y",["hkghgk"] = "value Z",["pp"] = "value ZZ",......) 我知道关键在哪里开
我的问题没有找到任何答案.
我知道如何在 PHP中迭代数组但我想从特定的键迭代一个数组. 假设我有一个巨大的阵列 $my_array = array( ... ... ["adad"] => "value X",["yy"] => "value Y",["hkghgk"] => "value Z",["pp"] => "value ZZ",... ... ) 我知道关键在哪里开始迭代(“yy”).现在我想只从这个键迭代到另一个键. 我知道我不想这样做: $start_key = "yy"; foreach ($my_array as $key => $v) { if ($key == $start_key) ... } 我在寻找Iterator,但我认为这不是我需要的. 解决方法
尝试组合array_search,array_key和
LimitIterator.使用LimitIterator页面中的示例和一些额外的位:
$fruitsArray = array( 'a' => 'apple','b' => 'banana','c' => 'cherry','d' => 'damson','e' => 'elderberry' ); $startkey = array_search('d',array_keys($fruitsArray)); $fruits = new ArrayIterator($fruitsArray); foreach (new LimitIterator($fruits,$startkey) as $fruit) { var_dump($fruit); } 从位置’d’开始,输出: string(6) "damson" string(10) "elderberry" 编辑:第一次回答问题!很高兴它的喜欢.这种方法有一个限制,因为它不会在阵列周围循环,直到再次开始位置.它只会迭代到数组的末尾然后停止.您将不得不运行另一个foreach来执行数组的第一部分,但这可以使用我们已有的代码轻松完成. foreach (new LimitIterator($fruits,$startkey-1) as $fruit) { var_dump($fruit); } 这从第一个元素开始,直到我们搜索的元素之前的元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |