php - php函数返回变量不起作用
问题描述
我创建了一个函数(递归)。如果它有父ID,它将再次调用,否则它将返回最后一个ID。问题是我无法返回函数参数中传递的最后一个 Id。如果我使用 var_dump() 或 echo 但无法在 return() 中返回,则显示完成。
这是示例代码:
function abc($dbcon,$id){
$get_quy = "select * from member_mst where member_status=0 and pid=".$id;
$get_rs = $dbcon->query($get_quy);
$get_numrows = mysqli_num_rows($get_rs);
$get_rel = mysqli_fetch_assoc($get_rs);
if($get_numrows>0){
abc($dbcon,$get_rel['member_id']);
}else{
//var_dump($id);//This will return => "String '3'"
return $id;
}
}
var_dump(abc($dbcon,1));//Returning Null
解决方案
这是工作代码。问题是我在再次调用函数时没有使用 return() 。
function abc($dbcon,$id){
$get_quy = "select * from member_mst where member_status=0 and pid=".$id;
$get_rs = $dbcon->query($get_quy);
$get_numrows = mysqli_num_rows($get_rs);
$get_rel = mysqli_fetch_assoc($get_rs);
if($get_numrows>0){
return abc($dbcon,$get_rel['member_id']); // Updated Code Here
}else{
return $id;
}
}
var_dump(abc($dbcon,1));//Returning "3"
推荐阅读
- visual-studio - Unity 找不到任何受支持的 Visual Studio 安装
- c# - 在 C# 中调用动态方法时如何传递 Struct 参数?
- python - TypeError:字符串索引必须是带有 JSON 的整数
- java - Hibernate - 与 MS SQL Server 一起处理浮点值
- terraform - alicloud_cs_managed_kubernetes vs alicloud_cs_kubernetes on terraform
- xslt - 如何使用 XSLT 将元素复制到组中的所有元素
- java - 如何在springboot中抛出外部端点抛出的相同异常
- algorithm - 如何去除图像中的亮度区域?
- java - 逐字符读取文件并在其中找到输入字符串
- vb.net - 如何将包含文本和数字的文本行与前面的 $ 符号分开?