PHP按位置获取数组的值

时间:2013-02-26 09:58:20

标签: php

我正在从我的数据库中提取最新的3篇新闻文章,我需要通过它们被拉出的顺序来访问它们,所以在数组中的第一个位置,第二个位置等等,以便在我的随机部分中按顺序显示它们网页。我遇到了访问数组键,但这不起作用,我哪里错了?提前谢谢!

$value = array_slice($blog, 0, 1);
echo $value;

3 个答案:

答案 0 :(得分:1)

使用此:

$value = array_shift($blog);

获得第二个

$value2 = array_shift($blog);

和第三:

$value3 = array_shift($blog);

答案 1 :(得分:1)

您有三种不同的方法可以实现这一目标:

<强> 1。每次想要获得下一个值时,请调用array_shift($ blog)。

   $value = array_shift($blog);

每次执行array_shift时,它都会返回数组中的下一个条目。

函数array_pop类似,但每次都返回数组中的最后一个条目。

<强> 2。只需使用索引

访问数组的每个条目

这给出了数组中的第一个条目:

    $value = $blog[0] 

这给出了数组中的第二个条目:

    $value = $blog[1] 

这给出了数组中的第n个值:

    $value = $blog[n-1];

第3。或者最后你可以简单地循环遍历数组并回显每个条目(如果你不想在同一个地方顺序回显条目,则可能不合适)

foreach ($blog as $blog_entry) {
    echo $blog_entry;
}

答案 2 :(得分:1)

我认为你正在寻找一个foreach循环或类似的东西:

$blog = array('foo', 'bar', 'cat');
foreach ($blog as $article) {
    echo $article;
}
/**
 * Gives you:
 *
       foo
       bar
       cat
 */

但是如果你想用功能来做,你可以使用array_shift。这将从数组中删除第一个元素并返回:

$article1 = array_shift($blog); // $blog is now `array('bar', 'cat')`
echo $article1; // >> foo

$article2 = array_shift($blog); // $blog is now `array('cat')`
echo $article2; // >> bar

$article3 = array_shift($blog); // $blog is now `array()`
echo $article2; // >> cat

或者,如果您想保留原始$blog数组,请使用数组指针函数,例如currentnextprevreset和{{3 }}:

reset($blog);
$article1 = current($blog); // >> foo
$article2 = next($blog); // >> bar
$article3 = next($blog); // >> cat