头一次写递归函数,烦请各位看看错哪里了,该如何处理
头一次写递归函数,烦请各位看看错哪里了
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;
}

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds



L'un des changements majeurs introduits dans MySQL 8.4 (la dernière version LTS en 2024) est que le plugin « MySQL Native Password » n'est plus activé par défaut. De plus, MySQL 9.0 supprime complètement ce plugin. Ce changement affecte PHP et d'autres applications

PHP fournit les méthodes suivantes pour supprimer des données dans les tables MySQL : Instruction DELETE : utilisée pour supprimer les lignes correspondant aux conditions de la table. Instruction TRUNCATETABLE : utilisée pour effacer toutes les données de la table, y compris les ID auto-incrémentés. Cas pratique : Vous pouvez supprimer des utilisateurs de la base de données à l'aide de formulaires HTML et de code PHP. Le formulaire soumet l'ID utilisateur et le code PHP utilise l'instruction DELETE pour supprimer l'enregistrement correspondant à l'ID de la table des utilisateurs.

La page est vide après que PHP se connecte à MySQL, et la raison pour laquelle la fonction Die () échoue. Lorsque vous apprenez la connexion entre PHP et la base de données MySQL, vous rencontrez souvent des choses déroutantes ...

Php ...

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Comment partager la même page du côté PC et mobile et gérer les problèmes de cache? Dans l'environnement Nginx PHP MySQL construit à l'aide de l'arrière-plan Baota, comment faire le côté PC et ...

Une explication détaillée du problème de la déduction des soldes en combinaison avec des verrous et des transactions optimistes PHP dans cet article analysera en détail une déduction de solde à l'aide de PHP, de verrous optimistes et de transactions de base de données, seulement ...

Une surveillance efficace des bases de données Redis est essentielle pour maintenir des performances optimales, identifier les goulots d'étranglement potentiels et garantir la fiabilité globale du système. Redis Exporter Service est un utilitaire robuste conçu pour surveiller les bases de données Redis à l'aide de Prometheus. Ce didacticiel vous guidera tout au long de l'installation et de la configuration complètes de Redis Exporter Service, vous garantissant ainsi d'établir une solution de surveillance de manière transparente. En suivant ce didacticiel, vous obtiendrez une configuration de surveillance entièrement opérationnelle pour surveiller efficacement les mesures de performances de votre base de données Redis.
