if($_MODULE[huoqubaobei]=="2"){$arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ $item=$itemManager-> queryById ($value); $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount; }}else if($_MODULE[huoqubaobei]=="1"){ $items=$itemManager->queryByKeyword("","hotsell",9); foreach($items as $item ){ $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount; }}else if($_MODULE[huoqubaobei]=="3"){ $items = $itemManager->queryByCategory($categoryId,"hotsell",10); foreach($items as $item){ $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount; }}else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount;}
省略する方法
echo $itemPicUrl;
echo $itemTitle;
echo $itemPrice;
元々はすべてを配列に追加したかったのですがそしてループしますが、この方法ではパフォーマンスが低下します。いいえ、誰がより良い方法を持っていますか
ディスカッション (解決策) への返信
各ブランチで同じ変数のセットを出力しますか?
条件構造が出てきた後に出力しないのはなぜですか?
if($_MODULE[huoqubaobei]=="2"){ $arr = explode(',',$_MODULE[item_1]); foreach($arr as $value) { $items=$itemManager-> queryById ($value); }}elseif($_MODULE[huoqubaobei]=="1"){ $items=$itemManager->queryByKeyword("","hotsell",9);}elseif($_MODULE[huoqubaobei]=="3"){ $items = $itemManager->queryByCategory($categoryId,"hotsell",10);}if($items) { foreach($items as $item) { $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount; }}else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount;}
if($_MODULE[huoqubaobei]=="2"){ $arr = explode(',',$_MODULE[item_1]); foreach($arr as $value) { $items=$itemManager-> queryById ($value); }}elseif($_MODULE[huoqubaobei]=="1"){ $items=$itemManager->queryByKeyword("","hotsell",9);}elseif($_MODULE[huoqubaobei]=="3"){ $items = $itemManager->queryByCategory($categoryId,"hotsell",10);}if($items) { foreach($items as $item) { $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount; }}else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount;}
はは、最後にまだ同じことを繰り返していました
if($_MODULE[huoqubaobei]=="2"){ $arr = explode(',',$_MODULE[item_1]); foreach($arr as $value) { $items=$itemManager-> queryById ($value); }}elseif($_MODULE[huoqubaobei]=="1"){ $items=$itemManager->queryByKeyword("","hotsell",9);}elseif($_MODULE[huoqubaobei]=="3"){ $items = $itemManager->queryByCategory($categoryId,"hotsell",10);}if($items) { foreach($items as $item) { $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount; }}else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; echo $itemUrl; echo $itemPicUrl; echo $itemTitle; echo $itemPrice; echo $itemsoldCount;}
そして、私の最後の else は、実際には elseif($_MODULE[huoqubaobei]=="4") です
セットの各ブランチで同じものを出力します変数の?
条件構造が出てきた後に出力しないのはなぜですか? 君が何を言いたいのか分からない。 。 。
各ブランチで同じ変数セットを出力しますか?
echo $ itemtitle;
echo $ itemoldcount; ということはありますか?それ以外の場合は各ページ。
$response= ''; switch($_MODULE[huoqubaobei]){ case "2": $arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ $item=$itemManager-> queryById ($value); $items = array_push($items, $item); } case "1": $items = $itemManager->queryByKeyword("","hotsell",9); case "3": $items = $itemManager->queryByCategory($categoryId,"hotsell",10); default: $items = array(); } if($items){ foreach($items as $item){ $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount } }else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount } echo $response;
修正しました、??ただ?。
$response= ''; $items = array(); switch($_MODULE[huoqubaobei]){ case "2": $arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ $item=$itemManager-> queryById ($value); array_push($items, $item); } case "1": $items = $itemManager->queryByKeyword("","hotsell",9); case "3": $items = $itemManager->queryByCategory($categoryId,"hotsell",10); } if($items){ foreach($items as $item){ $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount } }else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount } echo $response;
このコードは実際にはクラスとして記述し、$itemManager クラスを継承する (またはオブジェクト チェーンを形成する) 方が良いです
1.
echo $itemUrl;echo $itemPicUrl;echo $itemTitle;echo $itemPrice;echo $itemsoldCount;の形状は
に簡略化できます。
show($itemUrl, $itemPicUrl, $itemTitle, $itemPrice, $itemsoldCount);function show() { echo join('', func_get_args());}関数 show Work
で実行できます。 2. 元の式は
if($_MODULE[huoqubaobei]=="2"){$arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ $item=$itemManager-> queryById ($value); show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}else if($_MODULE[huoqubaobei]=="1"){ $items=$itemManager->queryByKeyword("","hotsell",9); foreach($items as $item ){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}else if($_MODULE[huoqubaobei]=="3"){ $items = $itemManager->queryByCategory($categoryId,"hotsell",10); foreach($items as $item){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}else{ show("#", "assets/images/nvtp.jpg", "请添加宝贝描述请添加宝贝描述请添加宝贝描述请", 628, 89, );}
として書くことができます。 3. 最初の 3 つの分岐が同じ数値取得メソッドを持っていることを考慮すると、別の関数
function item_show($items, $uriManager) { foreach($items as $item){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}を書くことができます
4.コードはさらに
if($_MODULE[huoqubaobei]=="2"){$arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ items_show(array($itemManager->queryById($value)), $uriManager); }}else if($_MODULE[huoqubaobei]=="1"){ items_show($itemManager->queryByKeyword("","hotsell",9), , $uriManager);}else if($_MODULE[huoqubaobei]=="3"){ items_show($itemManager->queryByCategory($categoryId,"hotsell",10), $uriManager);}else{ show("#", "assets/images/nvtp.jpg", "请添加宝贝描述请添加宝贝描述请添加宝贝描述请", 628, 89, );}function show() { echo join('', func_get_args());}function items_show($items, $uriManager) { foreach($items as $item){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}になります
笑 最後に1階は正しいです
ちょっと修正しました、??だけ?。
$response= ''; $items = array(); switch($_MODULE[huoqubaobei]){ case "2": $arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ $item=$itemManager-> queryById ($value); array_push($items, $item); } case "1": $items = $itemManager->queryByKeyword("","hotsell",9); case "3": $items = $itemManager->queryByCategory($categoryId,"hotsell",10); } if($items){ foreach($items as $item){ $itemUrl = $uriManager->detailURI($item); $itemPicUrl = $item->getPicUrl(160); $itemTitle = $item->title; $itemPrice = $item->price; $itemsoldCount = $item->soldCount; $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount } }else{ $itemUrl ="#"; $itemPicUrl = "assets/images/nvtp.jpg"; $itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请"; $itemPrice = 628; $itemsoldCount =89; $response .= $itemUrl.$itemPicUrl.$itemTitle.$itemPrice.$itemsoldCount } echo $response;
$itemUrl = "#";
$itemPicUrl = "assets/images/nvtp.jpg";
$itemTitle = "赤ちゃんの説明を追加してください赤ちゃんの説明を追加してください"; ; サイクリングしたい場合は、サイクル時間を提供する必要があります。
最後の感情に従う必要はありませんか?
サイクリングしたい場合は、サイクル時間を提供する必要があります。
foreach($items as $item){ 彼と同じ回数
最後のステップで、アイテムがすべて取得されました。どうすればよいでしょうか?
最後の状況は、アイテムが何も取得されていないということです。どうすればよいですか?
実際、彼の以前の if($items) の判断は間違っており、このように判断することはできません
最終的に else if($_MODULE[huoqubaobei]=="4") で判断しました
没看到有什么东西要循环的。。
else
{
$itemUrl ="#";
$itemPicUrl = "assets/images/nvtp.jpg";
$itemTitle = "请添加宝贝描述请添加宝贝描述请添加宝贝描述请";
$itemPrice = 628;
$itemsoldCount =89;
echo $itemUrl;
echo $itemPicUrl;
echo $itemTitle;
echo $itemPrice;
echo $itemsoldCount;
}
1、形如
echo $itemUrl;echo $itemPicUrl;echo $itemTitle;echo $itemPrice;echo $itemsoldCount;的可简化为
show($itemUrl, $itemPicUrl, $itemTitle, $itemPrice, $itemsoldCount);function show() { echo join('', func_get_args());}函数 show 中可做各种美化工作
2、原式就可写作
if($_MODULE[huoqubaobei]=="2"){$arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ $item=$itemManager-> queryById ($value); show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}else if($_MODULE[huoqubaobei]=="1"){ $items=$itemManager->queryByKeyword("","hotsell",9); foreach($items as $item ){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}else if($_MODULE[huoqubaobei]=="3"){ $items = $itemManager->queryByCategory($categoryId,"hotsell",10); foreach($items as $item){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}else{ show("#", "assets/images/nvtp.jpg", "请添加宝贝描述请添加宝贝描述请添加宝贝描述请", 628, 89, );}
3、考虑到前三个分支存在相同的取数方法,于是可以再写一个函数
function item_show($items, $uriManager) { foreach($items as $item){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}
4、代码就进一步变为
if($_MODULE[huoqubaobei]=="2"){$arr = explode(',',$_MODULE[item_1]); foreach($arr as $value){ items_show(array($itemManager->queryById($value)), $uriManager); }}else if($_MODULE[huoqubaobei]=="1"){ items_show($itemManager->queryByKeyword("","hotsell",9), , $uriManager);}else if($_MODULE[huoqubaobei]=="3"){ items_show($itemManager->queryByCategory($categoryId,"hotsell",10), $uriManager);}else{ show("#", "assets/images/nvtp.jpg", "请添加宝贝描述请添加宝贝描述请添加宝贝描述请", 628, 89, );}function show() { echo join('', func_get_args());}function items_show($items, $uriManager) { foreach($items as $item){ show($uriManager->detailURI($item), $item->getPicUrl(160), $item->title, $item->price, $item->soldCount ); }}
这段才是最省事的!
还可以这样写~
你在每个分支里输出同样的一组变量?
为何不在条件结构出来后在输出? 不明白你的意思。。。
把那些变量的地方都放到外面来

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



