2

我有一个这样的结果数组:-

    $array = array(
                    'key1' => array('...'),
                    'key2' => array('...'),
                    'key3' => array('...'),
                    'key4' => array('...'),
                    .
                    .
                    .
                    .
                    'keyn' => array('...')
            );

我需要从上面的数组中获取 5 个元素。第一次key1to key5, key6tokey10 等等……根据条件我需要对此进行操作。

我需要输出:-

$array = array(
                    'key1' => array('...'),
                    'key2' => array('...'),
                    'key3' => array('...'),
                    'key4' => array('...'),
                    'key5' => array('...')
            );

如果我的键值直接,我可以获得价值,$array['key1']....$array['key5']但如果键是未知值,我将面临问题。

提前致谢。

4

4 回答 4

0

array_slice肯定适合你

    $first_five_elements = array_slice($array, 0, 5);

这里是键盘

于 2013-05-06T14:48:01.903 回答
0

编辑:更好的方法是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++;
}
于 2013-05-06T14:29:14.583 回答
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
}
于 2013-05-06T14:36:46.673 回答
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

于 2013-05-06T14:37:33.160 回答