提取数组中的前 3 项

发布于 2024-09-14 16:15:58 字数 379 浏览 6 评论 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;
  }
}

看起来不太漂亮

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

here i want to extract only the first three items in the array, and then

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

echo $implodes;

which should output

item1;item2;item3


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

doesn't look pretty tho

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

另类 2024-09-21 16:15:58

使用 array_slice

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

Use array_slice:

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

潜移默化 2024-09-21 16:15:58

为什么不只是

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

Why not just

$string = sprintf('%s;%s;%s', $array[0], $array[1], $array[2]);
海之角 2024-09-21 16:15:58

使用

array_slice


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

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

use

array_slice


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

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

谜兔 2024-09-21 16:15:58

您可以使用 array_slice

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

You can use array_slice

$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$implodes = implode(';', array_slice($array,0,3));
echo $implodes;
ま昔日黯然 2024-09-21 16:15:58
$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$output = array_slice($array, 0, 3);
$implodes = implode(';', $array);
echo $implodes;
$array = array('item1', 'item2', 'item3', 'item4', 'item5');
$output = array_slice($array, 0, 3);
$implodes = implode(';', $array);
echo $implodes;
带刺的爱情 2024-09-21 16:15:58

不需要任何语法糖知识,但有基本的编程技能也可以完成

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

it can be done also without of any syntax sugar knowledge, but with basic programming skills

$num = 3;
$result='';
for ($i=0,$i<$num,$i++) {
  $result = $result.$array[$i];
  if ($i < $num-1) $result = $result.';';
}
凉宸 2024-09-21 16:15:58

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

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

它不符合保持简单的精神,但它是在职的。不过,我仍然会选择之前的答案。

And here is one solution using iterators:

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

It's not in the spirit of keeping it simple, but it's working. I'd still go with my previous answer though.

瑾夏年华 2024-09-21 16:15:58
$array = array_slice( $array , 0 , 3 );
$array = array_slice( $array , 0 , 3 );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文