検索
ホームページバックエンド開発PHPチュートリアルPHPでforeach配列内の順序を制御するにはどうすればよいですか?

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


これは、キーワードに基づいて商品をクエリするためのタオバオのインターフェイスです。foreach の結果は 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


これは次のように実装できますか?


ディスカッションへの返信 (解決策)

list( を使用できると思います)最初に配列を並べ替えてから foreach

foreach に対して同じプログラムを再度使用していますか?

同じプログラムで foreach を実行していますか?

この質問はもう少し拡張する必要があると思います:
訪問時に同じブラウザが複数の foreach を実行していますか、それとも同じ php にアクセスしている別の閲覧者が foreach が異なる順序を取得することを期待していますか?
後者の方が面倒です

2階のxuzuningさんからの返信を引用: 各foreachで同じプログラムに入っていますか?

この質問はもう少し拡張する必要があると思います:
訪問時に同じブラウザが複数の foreach を実行していますか、それとも同じ php にアクセスしている別の閲覧者が foreach が異なる順序を取得することを期待していますか?
後者の方が面倒です

同じ人が訪問すると、複数の foreach が実行されます。 コードは次のようになります。

$items = $itemManager->queryByKeyword(" ","hotsell",5);         foreach($items as $i=>$item){              echo 出来的标题顺序是 :1 2 3 4 5          }		 		 foreach($items as $i=>$item){              echo 出来的标题顺序是 :5 1 2 3 4         }		 		 foreach($items as $i=>$item){              echo 出来的标题顺序是 :4 5 1 2 3         }		 		 foreach($items as $i=>$item){              echo 出来的标题顺序是 :3 4 5 1 2         }		 		 foreach($items as $i=>$item){              echo 出来的标题顺序是 :2 3 4 5 1         }


最終的な効果は、同じページ上でタイトルがこのように並べ替えられることです
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
2 3 4 5 1

この質問は拡張する必要があると思います:
同じ訪問者が来たときに複数の foreach を実行する必要がありますかそれとも、異なる訪問者が同じ php を訪問し、foreach が異なる順序を取得することを期待していることを意味しますか?
後者の方が面倒ですよね?
同じプログラム内で複数回アクセスされる場合は、前に foreach を実行してください
$items[] = array_shift($items);
毎回アクセスされる場合は、
$n = microtime(1) % count($ items );
for($i

私がそのように答えたのは、彼が自分のニーズを満たしていなかったからです。クリア !

3 階の snmr_com からの返信を引用します: この質問はさらに拡張する必要があると思います:

同じブラウザーが訪問時に複数の foreach を実行していますか、それとも同じ php にアクセスしている別の閲覧者が foreach が異なる順序を取得することを期待していますか?
後者の方が面倒ですよね?
同じプログラム内で複数回アクセスされる場合は、前に foreach を実行してください
$items[] = array_shift($items);

毎回アクセスされる場合は、
$n =...

モデレーター、これが必要です私は理解できません どういう意味ですか?

$items[] = array_shift($items);

私も彼のニーズを理解していませんでした。ただ、人々が異なる商品を異なる順序で表示したいのではないかと思いました。特定の商品が常に同じ順序でランク付けされるのは避けたいのですが、ランダムな順序を使用したくありません?? 私は何年も前にそのような要求を持った顧客に会いました

すごいです

手に取ってみればわかります。

私は彼のニーズを理解していませんでした。私は彼が、特定の製品が常に 1 位にランクされるのを避けるために、異なる製品を使用する人には異なる順序を設定することを期待しているのではないかと考えましたが、ランダムな順序も使用したくないのではないかと思いました。 N年前にそのような顧客がいて、そのような要求がありました


実際、私の要求はそれほど複雑ではありません。同じ赤ちゃんがページ上で異なる順序で配置されている限り、異なる人々を考慮する必要はありません。は、訪問者全員が同じコンテンツを見ることになります

rree

このような効果を得たいのですが、foreach を 5 回行う必要がありますが、foreach 後に順序を変更することはできません。 ul 内の項目の順序は毎回異なります

PHP code?123456789101112$items = array(1,2,3,4,5); echo $v;echo '< ;br>'; $items[] = array_shift($items); foreach($items as $v) echo $v;echo '
' = array_s……



やってみます

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?セッションに関連するクロスサイトスクリプティング(XSS)攻撃からどのように保護できますか?Apr 23, 2025 am 12:16 AM

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?PHPセッションのパフォーマンスを最適化するにはどうすればよいですか?Apr 23, 2025 am 12:13 AM

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

session.gc_maxlifetime構成設定とは何ですか?session.gc_maxlifetime構成設定とは何ですか?Apr 23, 2025 am 12:10 AM

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでセッション名をどのように構成しますか?PHPでセッション名をどのように構成しますか?Apr 23, 2025 am 12:08 AM

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。

セッションIDをどのくらいの頻度で再生する必要がありますか?セッションIDをどのくらいの頻度で再生する必要がありますか?Apr 23, 2025 am 12:03 AM

セッションIDは、機密操作の前、30分ごとにログイン時に定期的に再生する必要があります。 1.セッション固定攻撃を防ぐためにログインするときにセッションIDを再生します。 2。安全性を向上させるために、敏感な操作の前に再生します。 3.定期的な再生は長期的な利用リスクを減らしますが、ユーザーエクスペリエンスの重量を量る必要があります。

PHPでセッションCookieパラメーターをどのように設定しますか?PHPでセッションCookieパラメーターをどのように設定しますか?Apr 22, 2025 pm 05:33 PM

PHPのセッションCookieパラメーターの設定は、session_set_cookie_params()関数を通じて達成できます。 1)この関数を使用して、有効期限、パス、ドメイン名、セキュリティフラグなどのパラメーターを設定します。 2)session_start()を呼び出して、パラメーターを有効にします。 3)ユーザーログインステータスなど、ニーズに応じてパラメーターを動的に調整します。 4)セキュリティを改善するために、セキュアとhttponlyフラグを設定することに注意してください。

PHPでセッションを使用する主な目的は何ですか?PHPでセッションを使用する主な目的は何ですか?Apr 22, 2025 pm 05:25 PM

PHPでセッションを使用する主な目的は、異なるページ間でユーザーのステータスを維持することです。 1)セッションはsession_start()関数を介して開始され、一意のセッションIDを作成し、ユーザーCookieに保存します。 2)セッションデータはサーバーに保存され、ログインステータスやショッピングカートのコンテンツなど、さまざまなリクエスト間でデータを渡すことができます。

サブドメイン間でセッションをどのように共有できますか?サブドメイン間でセッションをどのように共有できますか?Apr 22, 2025 pm 05:21 PM

サブドメイン間でセッションを共有する方法は?一般的なドメイン名にセッションCookieを設定することにより実装されます。 1.セッションCookieのドメインをサーバー側の.example.comに設定します。 2。メモリ、データベース、分散キャッシュなど、適切なセッションストレージ方法を選択します。 3. Cookieを介してセッションIDを渡すと、サーバーはIDに基づいてセッションデータを取得および更新します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。