我有这样一个结果数组:-
$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']
,但如果键是未知的值比我遇到了问题。
要遍历这样的数组,可以这样使用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
}
你可以直接将数组的前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
编辑:一个更好的方法是array_slice。看看这个问题。例子:
$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++;
}
array_slice肯定适合你
$first_five_elements = array_slice($array, 0, 5);
这里是代码页