提取数组中的前3项

时间:2010-08-17 11:25:25

标签: php arrays implode

$array = array('item1', 'item2', 'item3', 'item4', 'item5');

这里我只想提取数组中的前三项,然后

$implodes = implode(';', $array);

echo $implodes;

应该输出

item1;item2;item3


$i=0;
$new = array();
foreach($array as $arr)
{
  $i++;
  if($i <= 3)
  {
    $new[] = $arr;
  }
}

看起来不太好

8 个答案:

答案 0 :(得分:13)

使用array_slice

$output = implode(';', array_slice($array, 0, 3));

答案 1 :(得分:3)

为什么不

$string = sprintf('%s;%s;%s', $array[0], $array[1], $array[2]);

答案 2 :(得分:0)

使用

array_slice


$output = array_slice($input, 0, 3);

http://php.net/manual/en/function.array-slice.php

答案 3 :(得分:0)

您可以使用array_slice

$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$implodes = implode(';', array_slice($array,0,3));
echo $implodes;

答案 4 :(得分:0)

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

答案 5 :(得分:0)

$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$output = array_slice($array, 0, 3);
$implodes = implode(';', $array);
echo $implodes;

答案 6 :(得分:0)

它也可以在没有任何语法糖知识的情况下完成,但具有基本的编程技能

$num = 3;
$result='';
for ($i=0,$i<$num,$i++) {
  $result = $result.$array[$i];
  if ($i < $num-1) $result = $result.';';
}

答案 7 :(得分:0)

这是一个使用迭代器的解决方案:

echo implode(';', iterator_to_array(
    new LimitIterator(
        new ArrayIterator(
            array('item1', 'item2', 'item3', 'item4', 'item5')), 0, 3)));

这不符合keeping it simple的精神,但它正在发挥作用。我仍然会按照我之前的回答。