Heim Backend-Entwicklung PHP-Tutorial 头一次写递归函数,烦请各位看看错哪里了,该如何处理

头一次写递归函数,烦请各位看看错哪里了,该如何处理

Jun 13, 2016 am 10:02 AM
check mysql nbsp quot

头一次写递归函数,烦请各位看看错哪里了
function   check($num) {
                  $sn=$num;
$sql= "select   *   from   `a_dinghuo`   where   `num`= '$num ' ";
$q=mysql_query($sql);
$row=mysql_num_rows($q);
if($row==1) {
$sn=($num+1);
check($num+1);
}
return   $sn;
}

我的思路是如果数据库本身有这个数值,那么该数值+1
可是,我最后返回的还是原来的参数...请问哪里错了
小弟在此多谢了


------解决方案--------------------
因为你的数据库里没有那个数。
------解决方案--------------------
function check($num) {
$sn=$num;
$sql= "select * from `a_dinghuo` where `num`= '$num ' ";
$q=mysql_query($sql);
$row=mysql_num_rows($q);
if($row==1) {
$sn = check($num+1);// 修改这里
}
return $sn;
}
这样修改一下,不过在这里看不出递归的作用来
------解决方案--------------------
如果有的话,你的递归就会死循环,出不来了
------解决方案--------------------
确实是一个死循环!应该加上一个递归跳出!比如说判定2次或者超过某个数就跳出!

function check($num){
static $array = array(1,2,3,4,5,6,7,8,9,10);
$sn=$num;
if(in_array($num, $array)){
print $num. ' ';
$sn=($num+1);
check($num+1);
}
return $sn;
}
print check(3);
?>


输出:3 4 5 6 7 8 9 10 4
如果你的数据库num记录很多且是序列的话,你会发现你的mysql语句执行的很高
------解决方案--------------------
楼上死循环不会吧,仔细看下
$num+1 ......
------解决方案--------------------
$sql= "select * from `a_dinghuo` where `num`= '$num ' ";

check($num+1);

$num应该还是要类型统一下吧..
------解决方案--------------------
function check($num){
static $sn;
$sql= "select * from `a_dinghuo` where `num`= '$num ' ";
$q=mysql_query($sql);
$row=mysql_num_rows($q);
if($row==1){
$sn .= ($num+1);
check($num+1);
}
return $sn;
}

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 So beheben Sie den Fehler „mysql_native_password nicht geladen' unter MySQL 8.4 Dec 09, 2024 am 11:42 AM

Eine der wichtigsten Änderungen, die in MySQL 8.4 (der neuesten LTS-Version von 2024) eingeführt wurden, besteht darin, dass das Plugin „MySQL Native Password“ nicht mehr standardmäßig aktiviert ist. Darüber hinaus entfernt MySQL 9.0 dieses Plugin vollständig. Diese Änderung betrifft PHP und andere Apps

Wie lösche ich Daten aus einer MySQL-Tabelle mit PHP? Wie lösche ich Daten aus einer MySQL-Tabelle mit PHP? Jun 05, 2024 pm 12:40 PM

PHP bietet die folgenden Methoden zum Löschen von Daten in MySQL-Tabellen: DELETE-Anweisung: Wird zum Löschen von Zeilen, die Bedingungen entsprechen, aus der Tabelle verwendet. TRUNCATETABLE-Anweisung: Wird zum Löschen aller Daten in der Tabelle verwendet, einschließlich automatisch inkrementierter IDs. Praxisfall: Sie können Benutzer mithilfe von HTML-Formularen und PHP-Code aus der Datenbank löschen. Das Formular übermittelt die Benutzer-ID und der PHP-Code verwendet die DELETE-Anweisung, um den Datensatz, der der ID entspricht, aus der Benutzertabelle zu löschen.

Die Seite ist leer, nachdem PHP mit MySQL verbunden ist. Was ist der Grund für die ungültige Die () -Funktion? Die Seite ist leer, nachdem PHP mit MySQL verbunden ist. Was ist der Grund für die ungültige Die () -Funktion? Apr 01, 2025 pm 03:03 PM

Die Seite ist leer, nachdem PHP eine Verbindung zu MySQL hergestellt ist und der Grund, warum Die () -Funktion fehlschlägt. Wenn Sie die Verbindung zwischen PHP und MySQL -Datenbank lernen, begegnen Sie häufig auf einige verwirrende Dinge ...

Wie kann man Node.js oder Python -Dienste in Lampenarchitektur effizient integrieren? Wie kann man Node.js oder Python -Dienste in Lampenarchitektur effizient integrieren? Apr 01, 2025 pm 02:48 PM

Viele Website -Entwickler stehen vor dem Problem der Integration von Node.js oder Python Services unter der Lampenarchitektur: Die vorhandene Lampe (Linux Apache MySQL PHP) Architekturwebsite benötigt ...

Wie teile ich dieselbe Seite auf der PC und auf der mobilen Seite und behandeln Sie Cache -Probleme? Wie teile ich dieselbe Seite auf der PC und auf der mobilen Seite und behandeln Sie Cache -Probleme? Apr 01, 2025 pm 01:57 PM

Wie teile ich dieselbe Seite auf der PC und auf der mobilen Seite und behandeln Sie Cache -Probleme? In der nginx -PHP -Umgebung MySQL, die mit dem Baota -Hintergrund erstellt wurde, wie man die PC -Seite und ...

PHP Optimistische Sperrung in Kombination mit Transaktionsabzugsbilanz fehlgeschlagen: Wie kann sichergestellt werden, dass der Restbetrag in Gleichzeitverwaltung korrekt abgezogen wird? PHP Optimistische Sperrung in Kombination mit Transaktionsabzugsbilanz fehlgeschlagen: Wie kann sichergestellt werden, dass der Restbetrag in Gleichzeitverwaltung korrekt abgezogen wird? Mar 31, 2025 pm 11:42 PM

Detaillierte Erläuterung des Problems des Abzweigung von Balancen in Kombination mit optimistischen PHP -Sperren und -Transaktionen in diesem Artikel wird ausführlich einen Gleichgewichtsabzug mit PHP, optimistischen Sperren und Datenbanktransaktionen analysieren ...

Überwachen von Redis-Droplets mit dem Redis Exporter Service Überwachen von Redis-Droplets mit dem Redis Exporter Service Jan 06, 2025 am 10:19 AM

Eine effektive Überwachung von Redis-Datenbanken ist für die Aufrechterhaltung einer optimalen Leistung, die Identifizierung potenzieller Engpässe und die Gewährleistung der Gesamtsystemzuverlässigkeit unerlässlich. Redis Exporter Service ist ein robustes Dienstprogramm zur Überwachung von Redis-Datenbanken

See all articles