0

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

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

3 回答 3

1

用这个 :

$value = array_shift($blog);

获得第二个

$value2 = array_shift($blog);

第三:

$value3 = array_shift($blog);
于 2013-02-26T09:59:28.690 回答
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;
}
于 2013-02-26T10:04:32.997 回答
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数组,请使用数组指针函数,如currentnext、和:prevresetend

reset($blog);
$article1 = current($blog); // >> foo
$article2 = next($blog); // >> bar
$article3 = next($blog); // >> cat
于 2013-02-26T10:09:44.577 回答