データベースから最新の 3 つのニュース記事を取得しています。取得した順序でアクセスする必要があるため、配列の最初の位置、2 番目の位置などにアクセスして、Web ページのランダムなセクションに順番に表示します。配列キーへのアクセスに遭遇しましたが、それが機能していません。どこが間違っているのでしょうか? 前もって感謝します!
$value = array_slice($blog, 0, 1);
echo $value;
データベースから最新の 3 つのニュース記事を取得しています。取得した順序でアクセスする必要があるため、配列の最初の位置、2 番目の位置などにアクセスして、Web ページのランダムなセクションに順番に表示します。配列キーへのアクセスに遭遇しましたが、それが機能していません。どこが間違っているのでしょうか? 前もって感謝します!
$value = array_slice($blog, 0, 1);
echo $value;
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
配列ポインター関数を使用します。current
next
prev
reset
end
reset($blog);
$article1 = current($blog); // >> foo
$article2 = next($blog); // >> bar
$article3 = next($blog); // >> cat
これを行うには、次の 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;
}
これを使って :
$value = array_shift($blog);
2つ目を取得するには
$value2 = array_shift($blog);
そして3番目:
$value3 = array_shift($blog);