0

$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;
  }
}

看起来不漂亮

4

8 回答 8

14

使用array_slice

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

于 2010-08-17T11:26:45.150 回答
3

为什么不只是

$string = sprintf('%s;%s;%s', $array[0], $array[1], $array[2]);
于 2010-08-17T11:38:29.887 回答
0

采用

array_slice


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

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

于 2010-08-17T11:26:33.443 回答
0

您可以使用array_slice

$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$implodes = implode(';', array_slice($array,0,3));
echo $implodes;
于 2010-08-17T11:26:40.973 回答
0
$array = array_slice( $array , 0 , 3 );
于 2010-08-17T11:27:27.480 回答
0
$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$output = array_slice($array, 0, 3);
$implodes = implode(';', $array);
echo $implodes;
于 2010-08-17T11:29:00.453 回答
0

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

$num = 3;
$result='';
for ($i=0,$i<$num,$i++) {
  $result = $result.$array[$i];
  if ($i < $num-1) $result = $result.';';
}
于 2010-08-17T11:33:06.313 回答
0

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

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

这不是保持简单的精神,但它正在工作。不过,我仍然会选择我之前的答案。

于 2010-08-17T11:46:57.997 回答