ホームページ  >  記事  >  バックエンド開発  >  PHPでforeach配列内の順序を制御する方法

PHPでforeach配列内の順序を制御する方法

WBOY
WBOYオリジナル
2016-06-13 12:49:261187ブラウズ

PHP 配列 foreach 内の順序を制御するには?

<?php<br />
         /*查询关键字5个宝贝,按照热销降序排列*/<br />
         $items = $itemManager->queryByKeyword(" ","hotsell",5);<br />
         foreach($items as $i=>$item){<br />
              echo "宝贝标题:". $item->title;<br />
         }<br />
    ?>


これは、キーワードに基づいて商品をクエリするための Taobao のインターフェイスです。
は 5 つの商品のタイトルを表示します。 たとえば、foreach から出てくる赤ちゃんの順序は
です。
1 2 3 4 5

次に、個別に foreach します。対応する赤ちゃんの順序は次のとおりです。
5 1 2 3 4

引き続き foreach します。対応する赤ちゃんの順序は次のとおりです:

4 5 1 2 3

引き続き foreach します。対応する赤ちゃんの順序は次のとおりです:

3 4 5 1 2

最後の foreach の場合、対応する赤ちゃんの順序は次のとおりです:

2 3 4 5 1


これは可能でしょうか?


-----解決策---------
引用:
またそれぞれの foreach で同じプログラムを使用していますか?


この質問はさらに拡張する必要があると思います:
同じブラウザがアクセス時に複数の foreach を実行するのでしょうか、それとも異なるブラウザが同じ PHP にアクセスし、異なる順序の foreach を期待するのでしょうか?
後者の方が厄介です
-----解決策---------
私は彼のことを理解できませんでした需要としては、特定の商品が常に 1 位に表示されるのを避けるために、商品を順番を変えて表示したいと考えているだけですが、ランダムな順序は使いたくない、そんな要望を持ったお客様に会いました。 N 年前
-----解決策---------
$items = array(1,2,3,4,5);<br />
<br />
foreach($items as $v) echo $v;<br />
echo '<br>';<br />
<br />
$items[] = array_shift($items); <br />
foreach($items as $v) echo $v;<br />
echo '<br>';<br />
<br />
$items[] = array_shift($items); <br />
foreach($items as $v) echo $v;<br />
echo '<br>';<br />

手を動かせばわかる
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。