如何获得元素key
和value
在特定位置的n
位置数组的key
和value
而不需要循环。
想象一下
$postion = 3; // get array at 3rd position
$array = array(
"A" => "Four",
"B" => "twp",
"C" => "three",
"D" => "Four",
"E" => "Five",
"F" => "Four");
$keys = array_keys($array);
$value = array_values($array);
echo implode(array_slice($keys, $postion, 1)), PHP_EOL; // Key at 3rd posstion
echo implode(array_slice($value, $postion, 1)), PHP_EOL; // Value at n position
输出
D
Four
该方法的问题是
为什么不使用splfixedarray
>
这本来是一个解决方案,但我之所以会这样做,是因为我没有使用正键(我真的这样做在php部分是不公平的)
Fatal error: Uncaught exception 'InvalidArgumentException'
with message 'array must contain only positive integer keys'
你说的大数据集是什么意思:
假设PHP 5.4,使用数组取消引用:
echo $array[array_keys($array)[$position]];
在早期版本中,您需要将其分成两行:
$keys = array_keys($array);
echo $array[$keys[$position]];
如果您必须访问多个元素,那么在5.4+中使用双行方法也是值得的,这样您就可以只调用相对昂贵的array_keys()
函数一次。此外,取消引用方法假设数组中的特定位置存在,但它可能不存在。将其分解为多个操作将允许您处理该错误情况。
echo array_values($array)[$position];
// or
$values = array_values($array);
echo $values[$position];
$iterator = new ArrayIterator($array);
$iterator->seek($position);
echo $iterator->key(), " = ", $iterator->current(); // D = Four
这可能是代价最小的方法,假设在您执行此操作时没有在内存中创建数组的副本(仍在研究此元素),并且可能是对任意键进行多次访问的最佳方法。
问题内容: 在n = 5和k = 3的情况下,以下循环将执行此操作 但是效率不高,我想使用Banker的序列来完成,因此先探索单例,然后研究配对,然后研究三元组再停止。 我没有找到一种方法,但是至少此循环应该更有效: 还有:但是k个嵌入式循环看起来很丑 问题答案: 即使k个嵌入式循环看起来很丑,这也应该是最有效的方法
问题内容: 做到这一点的最佳方法是什么? 问题答案: 使用 array_slice() 这是PHP手册中的一个示例:array_slice 只有一个小问题 如果数组索引对您有意义,请记住这将重置并重新排列 数字 数组索引。您需要设置标志来避免这种情况。(第4个参数,自5.0.2起可用)。 例: 输出:
返回数组的第n个元素。 使用 Array.slice() 获取数组的第 n 个元素。如果索引超出范围,则返回 [] 。省略第二个参数 n ,将得到数组的第一个元素。 const nthElement = (arr, n = 0) => (n > 0 ? arr.slice(n, n + 1) : arr.slice(n))[0]; nthElement(['a', 'b', 'c'], 1);
本文向大家介绍获取元素在Java ArrayList中的位置,包括了获取元素在Java ArrayList中的位置的使用技巧和注意事项,需要的朋友参考一下 可以使用方法java.util.ArrayList.indexOf()获得ArrayList中元素的位置。此方法返回指定元素首次出现的索引。如果该元素在ArrayList中不可用,则此方法返回-1。 演示此的程序如下所示- 示例 输出结果 现在
我有以下JavaScript代码*** var pos=文档。getElementById('pos')<位置样式。位置='相对'<位置样式。宽度='100%'<位置样式。高度='100%'<位置样式。背景='灰色' 对于(i=1;i HTML代码:*** 第一个元素的位置正确,顶部为0px,左侧为30px,但是第二个和第三个元素的位置不正确,我尝试使用显示作为内联元素,但仅将它们设置在同一行上,
问题内容: 在遍历列表的Python循环中,我们可以编写: 并巧妙地遍历列表中的所有元素。有没有办法知道循环中到目前为止我循环了多少次?例如,我要列出一个清单,在处理完10个元素之后,我想对它们进行处理。 我考虑过的替代方案可能是: 要么: 是否有更好的方法(就像)来获得到目前为止的迭代次数? 问题答案: pythonic的方法是使用: