在PHP中的函数之间传递变量

在PHP中的函数之间传递变量,php,Php,我正在慢慢地将我的工作模式转换为函数以及OOP 我在登录页面的顶部调用了一个文件,functions.php 提交页面上的表单时,我使用函数文件中的函数检查输入的详细信息是否正确。如果不是,我会 if ($how_many<1){ $error .= "<p>You typed the wrong email address and/or password.</p>"; return $error; } 更新:然后在文件中调用anyerrors

我正在慢慢地将我的工作模式转换为函数以及OOP

我在登录页面的顶部调用了一个文件,
functions.php

提交页面上的表单时,我使用函数文件中的函数检查输入的详细信息是否正确。如果不是,我会

if ($how_many<1){

    $error .= "<p>You typed the wrong email address and/or password.</p>";
    return $error;

}
更新:然后在文件中调用
anyerrors($error)我希望显示错误的位置

但什么都没有显示?我猜这是因为我在一个函数中创建变量,而它没有到达另一个函数

我的逻辑有问题吗


恕我直言,我想我是一个老派的编码员,我花时间一步一步地彻底改变我的工作流程。

使用它是一种错误的方法,将函数中的echo切换为return,并将echo切换为如下函数:

function anyerrors($error){
    return $error;
}



if ($how_many<1){

    $error .= "<p>You typed the wrong email address and/or password.</p>";
    echo anyerrors($error);

}
函数anyerrors($error){
返回$error;
}

如果($how_many使用它是错误的,请将函数中的echo切换为return,并将echo切换为如下函数:

function anyerrors($error){
    return $error;
}



if ($how_many<1){

    $error .= "<p>You typed the wrong email address and/or password.</p>";
    echo anyerrors($error);

}
函数anyerrors($error){
返回$error;
}

如果($how_many看起来像是平淡无奇的代码,那么应该是这样的

function checkForErrors($type)
    if ($type =='your type you want')
    {
        if ($how_many<1){

            $error .= "<p>You typed the wrong email address and/or password.</p>";
            return $error;
        }

    }
}
function anyerrors(){
    $errors = checkForErrors('your type you want');
    if($errors!="") {
          echo $errors;
    }
}
函数checkForErrors($type)
如果($type==‘您想要的类型’)
{

如果($how_many看起来像是平淡无奇的代码,那么应该是这样的

function checkForErrors($type)
    if ($type =='your type you want')
    {
        if ($how_many<1){

            $error .= "<p>You typed the wrong email address and/or password.</p>";
            return $error;
        }

    }
}
function anyerrors(){
    $errors = checkForErrors('your type you want');
    if($errors!="") {
          echo $errors;
    }
}
函数checkForErrors($type)
如果($type==‘您想要的类型’)
{

如果($how_MUN您的$error变量范围仅限于您声明的位置。它可以在全局级别的文件中,也可以在函数内部。函数变量是基本数据类型,生命周期仅在函数存在之前。因此,如果您在函数中声明$error,它将是一个新变量。如果您要使用全局变量,则必须我认为它是全球性的

我个人会避免使用global,但它会起作用

了解

$error=”“;

如果($how_MUN您的$error变量范围仅限于您声明的位置。它可以在全局级别的文件中,也可以在函数内部。函数变量是基本数据类型,生命周期仅在函数存在之前。因此,如果您在函数中声明$error,它将是一个新变量。如果您要使用全局变量,则必须我认为它是全球性的

我个人会避免使用global,但它会起作用

了解

$error=”“;

如果($how_many这意味着我要为整个站点的每个错误检查创建一个新函数,而我要做的只是在函数中填充变量$error,然后有一个函数来回显它(如果它存在)。这是不可能的吗?不,您可以在第一个函数中传递参数,使其成为泛型并检查该特定错误。检查我的更新答案这意味着我会为整个站点的每个错误检查创建一个新函数,而我要做的只是在函数中填充变量$error,然后有一个函数来回显它(如果它存在)。这不可能吗?不,您可以在第一个函数中传递参数,使其成为泛型并检查该p特定错误。检查我的更新答案谢谢。我知道我可以使用第二种方法,但这不允许我将错误放在我希望显示的位置,除非我将该逻辑添加到html文件中,我正试图避免将代码保持干净和分离。啊,如果答案是如何分离php和html文件,也许你应该看看这个答案r->谢谢。我知道我可以使用第二种方法,但这不允许我将错误放在我想要显示的地方,除非我将该逻辑添加到html文件中,我试图避免将代码保持干净和分离。啊,如果答案是如何分离php和html文件,也许你应该看看这个答案->显示你如何调用fu返回
$error
的操作。您需要将结果分配给某个对象。“旧式编码器”?调用函数并从中返回值是几十年来人们一直采用的编程方式。它在标题为“更新”的帖子中:然后在文件中调用anyerrors($error);我希望在其中显示错误。如果($how_manyShow您如何调用返回
$error
的函数。您需要将结果分配给某个对象。“旧式编码器”?调用函数并从中返回值是人们几十年来编程的方式。它在标题为update的帖子中:然后在文件中我调用anyerrors($error);我希望显示错误的地方。是
if($how_manyThanks,很好用。我正在阅读越来越多关于OOP的内容,这对推动我朝这个方向前进是一个很大的帮助,再次感谢。谢谢,很好用。我正在阅读越来越多关于OOP的内容,这对推动我朝这个方向前进是一个很大的帮助,再次感谢。
$error = "";

if ($how_many<1){

    $error .= "<p>You typed the wrong email address and/or password.</p>";
    return $error;

}

function anyerrors($error){
    global $error;
    echo $error;
}