php递归,该如何处理

Jun 13, 2016 am 11:15 AM
arr nbsp

php递归
有一个数据表,结构如下:
id      classid       zengclassid     createdate

需要递归查出classid=$id的zengclassid,还得判断zengclassid如果也有赠送的课程时,需要把这条记录也查出来,
例如:
1        470           445             2010-01-01  11:11:11
2        470           448             2010-01-01  11:11:11
3        448           457             2010-01-01  11:11:11
4        445           490             2010-01-01  11:11:11

如果查找id为470的结果,那么需要查出:445,448,457,490;

我的代码递归得有问题,请大虾们赐教一下
function getVideo_zs($classid,$arr){
global $dsql;
$sql = "SELECT zengclassid FROM course WHERE classid=".$classid;
$dsql->Execute('mme',$sql);
while($rs=$dsql->getArray('mme')){
$arr[] = $rs['zengclassid'];
if(!empty($rs['zengclassid'])){
$arr = getVideo_zs($rs['zengclassid'],$arr);
}
}
        
           return $arr; 
}
$zs_list = array();
$zs_zrr = getVideo_zs(470,$zs_list);   


------解决方案--------------------
$arr[] = $rs['zengclassid'];//累积结果
if(!empty($rs['zengclassid'])){
$arr = getVideo_zs($rs['zengclassid'],$arr);//怎么递归一下就覆盖呢?

另外 $dsql->Execute('mme',$sql); 后,资源在 $dsql 内
请确认结果集不会被覆盖
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

解決策: 組織では PIN を変更する必要があります。 解決策: 組織では PIN を変更する必要があります。 Oct 04, 2023 pm 05:45 PM

解決策: 組織では PIN を変更する必要があります。

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する Sep 22, 2023 am 11:37 AM

Windows 11 でウィンドウの境界線の設定を調整する方法: 色とサイズを変更する

Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Windows 11でタイトルバーの色を変更するにはどうすればよいですか? Sep 14, 2023 pm 03:33 PM

Windows 11でタイトルバーの色を変更するにはどうすればよいですか?

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法 Sep 15, 2023 pm 03:57 PM

Windows 11 でタスクバーのサムネイル プレビューを有効または無効にする方法

Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Windows 11/10修復におけるOOBELANGUAGEエラーの問題 Jul 16, 2023 pm 03:29 PM

Windows 11/10修復におけるOOBELANGUAGEエラーの問題

Windows 11 でのディスプレイ スケーリング ガイド Windows 11 でのディスプレイ スケーリング ガイド Sep 19, 2023 pm 06:45 PM

Windows 11 でのディスプレイ スケーリング ガイド

Windows 11で明るさを調整する10の方法 Windows 11で明るさを調整する10の方法 Dec 18, 2023 pm 02:21 PM

Windows 11で明るさを調整する10の方法

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? iPhoneのSafariでプライベートブラウジング認証をオフにする方法は? Nov 29, 2023 pm 11:21 PM

iPhoneのSafariでプライベートブラウジング認証をオフにする方法は?

See all articles