国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
1. データを構(gòu)築します。 ??>
ホームページ バックエンド開発 PHPチュートリアル PHP は Infinitus 分類を?qū)g裝します

PHP は Infinitus 分類を?qū)g裝します

Jun 13, 2016 pm 12:23 PM
array children gt name pid

PHP は無限分類を?qū)g裝します

2 つの for ループを使用して無限分類を?qū)g裝します

テーブル:

字段名 字段類型 備注 默認(rèn)值
id int 主鍵 auto-increment
name varchar 分類名稱
pid int 父類id 0

トップカテゴリーのデフォルトの pid は 0 です。特定のカテゴリのサブカテゴリ ツリーを取り出したい場合、基本的な考え方は 再帰 です。 もちろん、効率の問題のため データベース にクエリを?qū)g行することはお勧めできません。通常のアプローチは、最初にすべてのカテゴリを取り出し、データを PHP 配列に保存し、次に を処理して、次のリクエストの効率を向上させます。

最初に

元の配列を構(gòu)築します。これはデータベースから直接クエリできます:

1. データを構(gòu)築します。 ??>

目標(biāo)は、次の構(gòu)造に変換することです
<code class=" hljs php"><span class="hljs-variable">$categories</span> = <span class="hljs-keyword">array</span>(    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">1</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'電腦'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">0</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">2</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'手機(jī)'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">0</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">3</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'筆記本'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">1</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">4</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'臺式機(jī)'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">1</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">5</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'智能機(jī)'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">2</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">6</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'功能機(jī)'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">2</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">7</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'超級本'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">3</span>),    <span class="hljs-keyword">array</span>(<span class="hljs-string">'id'</span>=><span class="hljs-number">8</span>,<span class="hljs-string">'name'</span>=><span class="hljs-string">'游戲本'</span>,<span class="hljs-string">'pid'</span>=><span class="hljs-number">3</span>),);</code>
コンピューター>ノートブック>
ウルトラブック>デスクトップ

スマートフォン>

配列で表される場合、

そのサブカテゴリを保存する子キーを追加できます
:

2. 処理プロセス:
<code class=" hljs php"><span class="hljs-keyword">array</span>(    <span class="hljs-comment">//1對應(yīng)$categories中的id ,方便直接讀取</span>    <span class="hljs-number">1</span> => <span class="hljs-keyword">array</span>(        <span class="hljs-string">'id'</span>=><span class="hljs-number">1</span>,        <span class="hljs-string">'name'</span>=><span class="hljs-string">'電腦'</span>,        <span class="hljs-string">'pid'</span>=><span class="hljs-number">0</span>,        children=><span class="hljs-keyword">array</span>(            &<span class="hljs-keyword">array</span>(                <span class="hljs-string">'id'</span>=><span class="hljs-number">3</span>,                <span class="hljs-string">'name'</span>=><span class="hljs-string">'筆記本'</span>,                <span class="hljs-string">'pid'</span>=><span class="hljs-number">1</span>,                <span class="hljs-string">'children'</span>=><span class="hljs-keyword">array</span>(                    <span class="hljs-comment">//此處省略</span>                )            ),            &<span class="hljs-keyword">array</span>(                <span class="hljs-string">'id'</span>=><span class="hljs-number">4</span>,                <span class="hljs-string">'name'</span>=><span class="hljs-string">'臺式機(jī)'</span>,                <span class="hljs-string">'pid'</span>=><span class="hljs-number">1</span>,                <span class="hljs-string">'children'</span>=><span class="hljs-keyword">array</span>(                    <span class="hljs-comment">//此處省略</span>                )            ),        )    ),    <span class="hljs-comment">//其他分類省略</span>)</code>

<code class=" hljs php"><span class="hljs-variable">$tree</span> = <span class="hljs-keyword">array</span>();<span class="hljs-comment">//第一步,將所有的分類id作為數(shù)組key,并創(chuàng)建children單元</span><span class="hljs-keyword">foreach</span>(<span class="hljs-variable">$categories</span> <span class="hljs-keyword">as</span> <span class="hljs-variable">$category</span>){    <span class="hljs-variable">$tree</span>[<span class="hljs-variable">$category</span>[<span class="hljs-string">'id'</span>]] = <span class="hljs-variable">$category</span>;    <span class="hljs-variable">$tree</span>[<span class="hljs-variable">$category</span>[<span class="hljs-string">'id'</span>]][<span class="hljs-string">'children'</span>] = <span class="hljs-keyword">array</span>();}<span class="hljs-comment">//第二步,利用引用,將每個(gè)分類添加到父類children數(shù)組中,這樣一次遍歷即可形成樹形結(jié)構(gòu)。</span><span class="hljs-keyword">foreach</span> (<span class="hljs-variable">$tree</span> <span class="hljs-keyword">as</span> <span class="hljs-variable">$key</span>=><span class="hljs-variable">$value</span>) {    <span class="hljs-keyword">if</span> (<span class="hljs-variable">$value</span>[<span class="hljs-string">'pid'</span>] != <span class="hljs-number">0</span>) {        <span class="hljs-variable">$tree</span>[<span class="hljs-variable">$value</span>[<span class="hljs-string">'pid'</span>]][<span class="hljs-string">'children'</span>][] = &<span class="hljs-variable">$tree</span>[<span class="hljs-variable">$key</span>];    }}print_r(<span class="hljs-variable">$tree</span>);</code>
3. 印刷結(jié)果は次のとおりです。
<code>注:必須通過引用, 否則不會一次遍歷就生成最終的結(jié)果.</code>

<code class=" hljs php"><span class="hljs-keyword">Array</span>(    [<span class="hljs-number">1</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">1</span>            [name] => 電腦            [pid] => <span class="hljs-number">0</span>            [children] => <span class="hljs-keyword">Array</span>                (                    [<span class="hljs-number">0</span>] => <span class="hljs-keyword">Array</span>                        (                            [id] => <span class="hljs-number">3</span>                            [name] => 筆記本                            [pid] => <span class="hljs-number">1</span>                            [children] => <span class="hljs-keyword">Array</span>                                (                                    [<span class="hljs-number">0</span>] => <span class="hljs-keyword">Array</span>                                        (                                            [id] => <span class="hljs-number">7</span>                                            [name] => 超級本                                            [pid] => <span class="hljs-number">3</span>                                            [children] => <span class="hljs-keyword">Array</span>                                                (                                                )                                        )                                    [<span class="hljs-number">1</span>] => <span class="hljs-keyword">Array</span>                                        (                                            [id] => <span class="hljs-number">8</span>                                            [name] => 游戲本                                            [pid] => <span class="hljs-number">3</span>                                            [children] => <span class="hljs-keyword">Array</span>                                                (                                                )                                        )                                )                        )                    [<span class="hljs-number">1</span>] => <span class="hljs-keyword">Array</span>                        (                            [id] => <span class="hljs-number">4</span>                            [name] => 臺式機(jī)                            [pid] => <span class="hljs-number">1</span>                            [children] => <span class="hljs-keyword">Array</span>                                (                                )                        )                )        )    [<span class="hljs-number">2</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">2</span>            [name] => 手機(jī)            [pid] => <span class="hljs-number">0</span>            [children] => <span class="hljs-keyword">Array</span>                (                    [<span class="hljs-number">0</span>] => <span class="hljs-keyword">Array</span>                        (                            [id] => <span class="hljs-number">5</span>                            [name] => 智能機(jī)                            [pid] => <span class="hljs-number">2</span>                            [children] => <span class="hljs-keyword">Array</span>                                (                                )                        )                    [<span class="hljs-number">1</span>] => <span class="hljs-keyword">Array</span>                        (                            [id] => <span class="hljs-number">6</span>                            [name] => 功能機(jī)                            [pid] => <span class="hljs-number">2</span>                            [children] => <span class="hljs-keyword">Array</span>                                (                                )                        )                )        )    [<span class="hljs-number">3</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">3</span>            [name] => 筆記本            [pid] => <span class="hljs-number">1</span>            [children] => <span class="hljs-keyword">Array</span>                (                    [<span class="hljs-number">0</span>] => <span class="hljs-keyword">Array</span>                        (                            [id] => <span class="hljs-number">7</span>                            [name] => 超級本                            [pid] => <span class="hljs-number">3</span>                            [children] => <span class="hljs-keyword">Array</span>                                (                                )                        )                    [<span class="hljs-number">1</span>] => <span class="hljs-keyword">Array</span>                        (                            [id] => <span class="hljs-number">8</span>                            [name] => 游戲本                            [pid] => <span class="hljs-number">3</span>                            [children] => <span class="hljs-keyword">Array</span>                                (                                )                        )                )        )    [<span class="hljs-number">4</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">4</span>            [name] => 臺式機(jī)            [pid] => <span class="hljs-number">1</span>            [children] => <span class="hljs-keyword">Array</span>                (                )        )    [<span class="hljs-number">5</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">5</span>            [name] => 智能機(jī)            [pid] => <span class="hljs-number">2</span>            [children] => <span class="hljs-keyword">Array</span>                (                )        )    [<span class="hljs-number">6</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">6</span>            [name] => 功能機(jī)            [pid] => <span class="hljs-number">2</span>            [children] => <span class="hljs-keyword">Array</span>                (                )        )    [<span class="hljs-number">7</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">7</span>            [name] => 超級本            [pid] => <span class="hljs-number">3</span>            [children] => <span class="hljs-keyword">Array</span>                (                )        )    [<span class="hljs-number">8</span>] => <span class="hljs-keyword">Array</span>        (            [id] => <span class="hljs-number">8</span>            [name] => 游戲本            [pid] => <span class="hljs-number">3</span>            [children] => <span class="hljs-keyword">Array</span>                (                )        ))</code>
利點(diǎn):
の関係は次のとおりです。明確であり、上司と部下の関係を修正するのは簡単です。

デメリット:

PHP 処理を使用すると、カテゴリの數(shù)が膨大になると効率も低下します。

原文 http://blog.csdn.net/u013927110/article/details/44086253

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質(zhì)はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質(zhì)はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結(jié)果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

修正: Windows 11 で Snipping ツールが機(jī)能しない 修正: Windows 11 で Snipping ツールが機(jī)能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機(jī)能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時(shí)にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術(shù)知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

Win7 タスク マネージャーで pid を表示するにはどうすればよいですか? エディターがその表示方法を教えてくれます。 Win7 タスク マネージャーで pid を表示するにはどうすればよいですか? エディターがその表示方法を教えてくれます。 Jan 11, 2024 pm 07:00 PM

pid 識別子に馴染みのない友人も多いかもしれませんが、タスク マネージャーで確認(rèn)できます。ただし、一部のユーザーはタスク マネージャーを開いたときに PID 識別子を見つけることができません。実際、ユーザーがプロセス PID 識別子を表示したい場合は、それを表示するために「タスク マネージャー」の関連設(shè)定を行う必要があります。次のエディタでは、win7 システムを例として、プロセス PID 識別子の表示方法を説明します。 PID 識別子は、Windows オペレーティング システムによって実行中のプログラムに自動的に割り當(dāng)てられる一意の連続番號です。プロセスが終了した後、PID はシステムによってリサイクルされ、新しく実行中のプログラムに割り當(dāng)てられ続ける場合があります。ユーザーがプロセスを表示する必要がある場合、タスクマネージャーを使用して確認(rèn)することになりますが、プロセスのPID識別子を確認(rèn)するにはどうすればよいですか?以下にそれを共有させてください

C# の Array.Sort 関數(shù)を使用して配列を並べ替える C# の Array.Sort 関數(shù)を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関數(shù)を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構(gòu)造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関數(shù)を使用して配列を並べ替える方法を示し、具體的なコード例を示します。まず、Array.Sort 関數(shù)の基本的な使用法を理解する必要があります。 Array.So

PHPのarray_merge_recursive()関數(shù)を使用するシンプルで明確な方法 PHPのarray_merge_recursive()関數(shù)を使用するシンプルで明確な方法 Jun 27, 2023 pm 01:48 PM

PHP でプログラミングする場合、多くの場合、配列をマージする必要があります。 PHP には、配列のマージを完了するための array_merge() 関數(shù)が用意されていますが、配列內(nèi)に同じキーが存在する場合、この関數(shù)は元の値を上書きします。この問題を解決するために、PHP は配列をマージして同じキーの値を保持できる array_merge_recursive() 関數(shù)を言語で提供し、プログラム設(shè)計(jì)をより柔軟にします。配列マージ

PHP で array_combine 関數(shù)を使用して 2 つの配列を結(jié)合して連想配列にする方法 PHP で array_combine 関數(shù)を使用して 2 つの配列を結(jié)合して連想配列にする方法 Jun 26, 2023 pm 01:41 PM

PHP には、配列操作をより便利かつ高速にする強(qiáng)力な配列関數(shù)が多數(shù)あります。 2 つの配列を結(jié)合して連想配列にする必要がある場合、PHP の array_combine 関數(shù)を使用してこの操作を?qū)g行できます。この関數(shù)は、実際には、ある配列のキーを別の配列の値として新しい連想配列に結(jié)合するために使用されます。次に、PHP の array_combine 関數(shù)を使用して 2 つの配列を結(jié)合して連想配列にする方法を説明します。 array_comb について學(xué)ぶ

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

パート 1: 最初のトラブルシューティング手順 Apple のシステムステータスを確認(rèn)する: 複雑な解決策を掘り下げる前に、基本から始めましょう。問題はデバイスにあるのではなく、Apple のサーバーがダウンしている可能性があります。 Apple のシステム ステータス ページにアクセスして、AppStore が適切に動作しているかどうかを確認(rèn)してください。問題があれば、Apple が修正してくれるのを待つしかありません。インターネット接続を確認(rèn)します?!窤ppStore に接続できません」問題は接続不良が原因である場合があるため、安定したインターネット接続があることを確認(rèn)してください。 Wi-Fi とモバイル データを切り替えるか、ネットワーク設(shè)定をリセットしてみてください ([一般] > [リセット] > [ネットワーク設(shè)定のリセット] > [設(shè)定])。 iOS バージョンを更新します。

子供向けの BubblePal AI コンパニオン トイが、SF 映畫 M3GAN と不気味なほど似たコンセプトで発売 子供向けの BubblePal AI コンパニオン トイが、SF 映畫 M3GAN と不気味なほど似たコンセプトで発売 Aug 15, 2024 pm 12:53 PM

新しく発売された AI ベースのインタラクティブ玩具である BubblePal は、先週発売されていなかったら、2022 年の SF/ホラー映畫 M3GAN の腳本家にインスピレーションを與えていた可能性があるもののようです。大規(guī)模言語モデル (LLM) テクノロジーに基づいて、「

See all articles