我有一个像这样的结果数组: -
$array = array(
'key1' => array('...'),
'key2' => array('...'),
'key3' => array('...'),
'key4' => array('...'),
.
.
.
.
'keyn' => array('...')
);
我需要从上面的数组中获取5个元素。第一次key1
到key5
,key6
到key10
......等等......根据条件我需要对此进行操作。
我需要输出: -
$array = array(
'key1' => array('...'),
'key2' => array('...'),
'key3' => array('...'),
'key4' => array('...'),
'key5' => array('...')
);
如果我的键值直接$array['key1']....$array['key5']
,我可以获得值,但如果键值不是未知值
我面临着问题。
提前致谢。
答案 0 :(得分:0)
编辑:更好的方法是array_slice。请参阅this问题。例如:
$fifthElement = array_slice($array,4,1); //will get the 5th element
您可以使用foreach来提供密钥和关联值。因此,要获得第五个键值对,您可以写:
$i = 1;
foreach($array as $key => $value)
{
if($i == 5)
{
echo "Fifth Key=".$key." value=".$value."\n";
}
$i++;
}
答案 1 :(得分:0)
要迭代这样的数组,您可以这样使用array_slice()
:
$n = count($array);
$len = 5;
for ($i = 0; $i + $len <= $n; $i += $len) {
$chunk = array_slice($array, $i, $len, true);
// do work on $chunk
}
答案 2 :(得分:0)
你可以将前5个项目拼接或切片。
<?php
$array = array(
'key1' => array('...'),
'key2' => array('...'),
'key3' => array('...'),
'key4' => array('...'),
'key5' => array('...'),
'key6' => array('...'),
'key7' => array('...')
);
$arraySlice1 = array_slice($array, 0, 5);
$arraySlice2 = array_splice($array, 0, 5);
Slice将保留$ array完整且$ array仍将保存7个项目,splice将从$ array中删除返回的结果,因此$ array将只保存key6和key7
答案 3 :(得分:0)