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 を実行するのでしょうか、それとも異なるブラウザが同じ 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 />
手を動かせばわかる