0

データベースから最新の 3 つのニュース記事を取得しています。取得した順序でアクセスする必要があるため、配列の最初の位置、2 番目の位置などにアクセスして、Web ページのランダムなセクションに順番に表示します。配列キーへのアクセスに遭遇しましたが、それが機能していません。どこが間違っているのでしょうか? 前もって感謝します!

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

3 に答える 3

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配列ポインター関数を使用します。currentnextprevresetend

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

これを行うには、次の 3 つの方法があります。

1. 次の値を取得するたびに array_shift($blog) を呼び出します。

   $value = array_shift($blog);

array_shift を実行するたびに、配列内の次のエントリが返されます。

関数 array_pop は似ていますが、毎回配列の最後のエントリを返します。

2.インデックスを使用して配列の各エントリにアクセスするだけです

これにより、配列の最初のエントリが得られます。

    $value = $blog[0] 

これにより、配列の 2 番目のエントリが得られます。

    $value = $blog[1] 

これにより、配列の n 番目の値が得られます。

    $value = $blog[n-1];

3. または最後に、単純に配列をループして各エントリをエコーアウトすることもできます (同じ場所のエントリを順次エコーアウトしたくない場合は適していない可能性があります)。

foreach ($blog as $blog_entry) {
    echo $blog_entry;
}
于 2013-02-26T10:04:32.997 に答える
1

これを使って :

$value = array_shift($blog);

2つ目を取得するには

$value2 = array_shift($blog);

そして3番目:

$value3 = array_shift($blog);
于 2013-02-26T09:59:28.690 に答える