3

假设我有一个看起来像这样的数组

array ([apple] => 1, [dog]=>2, [cat]=>5, [bread]=>9, [shoes]=> 4)

我可以打印数组的前 3 个值吗?如果是这样,怎么做?有任何想法吗?

4

3 回答 3

14
$firstThreeElements = array_slice($array, 0, 3);

其中 0 是您的偏移量,3 是您想要的元素数量。

于 2012-07-26T02:35:44.207 回答
9

有很多方法。

list( $first, $second, $third) = $array;
echo $first . ' ' . $second . ' ' . $third;

或者:

echo array_shift( $array);
echo array_shift( $array);
echo array_shift( $array);

或者:

$i = 0;
foreach( $array as $el) {
    if( $i >= 3) break;
    echo $el;
    $i++;
}

或者:

foreach( array_slice( $array, 0, 3) as $el) {
    echo $el;
}

或者:

echo implode( ' ', array_slice( $array, 0, 3));
于 2012-07-26T02:32:51.693 回答
2

使用迭代器:

$array = ['apple' => 1, 'dog' => 2, 'cat' => 5, 'bread' => 9, 'shoes' => 4];

foreach (new LimitIterator(new ArrayIterator($array), 0, 3) as $key => $val)
{
  echo "$key => $val\n";
}
于 2012-07-26T02:38:33.697 回答