親愛なる皆さん、次のコードを見てください:
私が実装したい関数は、多次元配列を使用してツリー構造を出力することです。以下のパラメーターは多次元配列です。
//再帰ツリー出力形式1
public function accountTreeType1($arrData){ $this->strLable = $this->strLable.'<ul>'; foreach($arrData as $val){ if(is_array($val['child'])){ $this->strLable = $this->strLable.'<li>'.$val['acc_code'].$val['acc_name']; $this->accountTreeType1($val['child']); }else{ $this->strLable = $this->strLable.'<li>'.$val['acc_code'].$val['acc_name'].'</li>'; if($val[id]=='最后一个ID'){ return $this->strLable; //在这里没有返回值,不过用echo $this->strLable;是可以打印出来,但是返回值为空。 } } } $this->strLable = $this->strLable.'</ul>'; }
ディスカッションへの返信(解決策)
9行目の$this->accountTreeType1は14行目のreturnを継承しません
9行目の$ this- >accountTreeType1 は 14 行目のリターンを受け入れません
では、なぜエコー時に出力できるのでしょうか?
このメソッドはどのように呼び出すのでしょうか?
関数が戻った後は、メソッドの実行が終了したことを意味し、後続のコードは実行されません。
$str = D('Account')->accountTreeType1($Data);
メソッドの最後に
return $this->strLable; を追加します
1. strLable はクラスで定義されていますか?
3. もちろん、echo は出力できます。再帰関数が何なのか理解していませんか?
追加後は戻り値があります。しかし、なぜこのように書かれているのかはよくわかりません。 public counttreetype1($ arrdata){&gt; ;/ul>ただ、いつ戻ればいいのか分かりません。そして、メソッドの最後に return を追加すると、それは再帰的となり、呼び出されるたびに戻りますよね?
$val[id]、id とは何ですか? $id または "id" である必要があります...したがって、$this->strLabel はまったく返されません
return は、実際に現在の関数を数回呼び出したところです。再帰を理解していない
理解したほうがいいです
return back continue と recursion
public function accountTreeType1($arrData){
_array($val['child'] ) {
$ this- & gt;
このメソッドはすべての値を返すことはできません
$ ardata を出力します
配列
(
[1] => 配列
(
[id] => 1
[acc_code] => 1001
[acc_name] => 库存现金
[acc_level] => 1
[acc_detail ] => 0
[acc_parent_id] => 0
1
1
[子] => 配列
(
[38] => 配列
(
[id] =&gt; [acc_root_id] => 1
[acc_state] => 1
[子] => (
[39] => 配列
(
[id] => 39
[acc_code] => 10010101
[acc_name] => 詹军涛
[acc_level] => 3
[acc_detail] => 0
[acc_parent_id] => 38
[acc_root_id] => 1
[acc_state] => 1
[子] => 配列
(
[804] =&gt; array
(
[id] =&gt;804
[acc_code] =&gt; 1001010101
[acc_name] =&gt;fdsaf
[acc_level] =&gt; 4
[acc_detail] => 1
[acc_parent_id] => 39
[acc_root_id] => 1
[acc_state] => 1
)
)
)
[40] => array
(
[id] =&gt;40
[acc_code] =&gt; 10010102 38
[acc_root_id] => 1
[acc_state] => 1
)
[41] => array
(
[id] =&gt; 41
[acc_code] =&gt; 10010103
[acc_name] =&gt;吴雪吴雪如如如如[acc_level] =&gt; 3 38
[acc_root_id] => 1
[acc _state] => 1
)
[42] => 配列
(
[id] => 42
[acc_code] => 10010104
[acc_name] => 关蓉
[acc_level] => 3
[acc_detail] => 1
[acc_parent_id] => 38
[acc_root_id] => 1
[acc_state] => 1
)
[43] => array
(
[id] =&gt;43
[acc_code] =&gt; 10010105 ; 38
[acc_root_id] => 1
[acc_state] => 1
)
[44] => array
(
[id] =&gt; 44
[acc_code] =&gt; 10010106
[acc_name] =&gt; 38
[acc_root_id] => 1
[acc _state] => 1
)
[45] => 配列
(
[id] => 45
[acc_code] => 10010107
[acc_name] => 陈培怀
[acc_level] => 3
[acc_detail] => 1
[acc_parent_id] => 38
[acc_root_id] => 1
[acc_state] => 1
)
[46] => array
(
[id] =&gt; 46
[acc_code] =&gt;10010108
[acc_name] =&gt;陈镇江陈镇江
陈镇江[acc_level] =&gt; 3
[acc_detail] =&gt; 1
[acc_parent_id] =&gt ; 38
[acc_root_id] => 1
[acc_state] => 1
)
[789] => array
(
[id] =&gt; 789
[acc_code] =&gt; 435435 38
[acc_root_id] => 1
[acc _state] => 1
)
)
)
[47] => 配列
(
[id] => 47
[acc_code] => 100102
[acc_name] => 广州现钞
[acc_level] => 2
[acc_detail] => 0
[acc_parent_id] => 1
[acc_root_id] => 1
[acc_state] => 1
[子供] => array
(
[48] =&gt; array
(
[id] =&gt;48
[acc_code] =&gt; 10010201
[acc_name] =&gt;吴昆伦吴昆伦吴昆伦
> 1
[acc_parent_id] => 47
[acc_root_id] => 1
[acc_state] => 1
)
)
)
)
)
)
public function accountTreeType1($arrData){
- '; foreach($ arrdata as $ val){
- '.$val['acc_code'].$val['acc_name'].' ';
if(is_array($ val ['child'])){
$ strlable。= '&lt; li&gt;'。$ val ['acc_code']。$ val ['acc_name '].'';
$strLable .= $this->accountTreeType1($val['child']);
}else{
$strLable .= '
}
}
return $strLable.'
}
public function accountTreeType1($arrData){
$strLable .= '
- '; foreach($arrData as $val){
- これは実現可能です。谢你们,我有点明白,我错在哪了。
if(is_array($val['child'])){
$strLable .= '

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

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