Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中回显函数响应_Php - Fatal编程技术网

如何在php中回显函数响应

如何在php中回显函数响应,php,Php,我创建了一个函数来检查字符串中的特殊字符,但似乎无法让它回显响应消息 这是我的密码 <?php function chk_string($string){ if (preg_match('/[\^£$%&*()}{@#~?><>|=_+¬-]/', $string)) { $chk_str="false"; } else { $chk_str

我创建了一个函数来检查字符串中的特殊字符,但似乎无法让它回显响应消息

这是我的密码

<?php
    function chk_string($string){
        if (preg_match('/[\^£$%&*()}{@#~?><>|=_+¬-]/', $string))
        {
            $chk_str="false";
        } else {
            $chk_str="true";
        }
        return $chk_str;
    }
    
$string="this is just a test" ;
chk_string($string) ;
echo $chk_str;
?>


“echo$chk_str”没有回显任何内容。

如果要像这样回显某个变量,则需要将返回值存储在特定变量中

$chk_str = chk_string($string) ;
echo $chk_str;
echo chk_string($string) ;
另一种方法是直接回显返回值,如下所示

$chk_str = chk_string($string) ;
echo $chk_str;
echo chk_string($string) ;

如果要像这样回显某个变量,则需要将返回值存储在特定变量中

$chk_str = chk_string($string) ;
echo $chk_str;
echo chk_string($string) ;
另一种方法是直接回显返回值,如下所示

$chk_str = chk_string($string) ;
echo $chk_str;
echo chk_string($string) ;
如果是的话
$chk_str=chk_string($string)
然后你可以
echo$chk_str
您试图回显的
$chk_str
仅在函数中可见

更多说明:
您的函数(chk_字符串)与echo在不同的范围内
您的函数返回一个变量,但该变量“丢失”,因为您没有将其分配给另一个变量
您的代码当前逐行执行类似以下操作:
您的函数声明
$string表示“这只是一个测试”
函数的结果是字符串,只是在代码中浮动
写出一个不存在的变量

我希望这在某种程度上有所帮助。

如果你这样做了
$chk_str=chk_string($string)
然后你可以
echo$chk_str
您试图回显的
$chk_str
仅在函数中可见

更多说明:
您的函数(chk_字符串)与echo在不同的范围内
您的函数返回一个变量,但该变量“丢失”,因为您没有将其分配给另一个变量
您的代码当前逐行执行类似以下操作:
您的函数声明
$string表示“这只是一个测试”
函数的结果是字符串,只是在代码中浮动
写出一个不存在的变量


我希望这在某种程度上有所帮助。

您的问题是关于变量范围的,并且已经得到了回答,但我建议您在这里看看变量范围。 基本上,每个变量都有其作用域,我们不能访问其作用域之外的变量。在您的情况下,
$chk_str
变量的作用域位于函数
chk_string
内部,因此您无法在函数外部访问它。因为您在函数
chk_string
中返回
$chk_str
的值,所以您仍然可以通过函数
chk_string
的响应来访问其值,例如:

echo chk_string('a string');


您的问题是关于变量范围的,并且已经得到了回答,但是我建议您在这里看看变量范围。 基本上,每个变量都有其作用域,我们不能访问其作用域之外的变量。在您的情况下,
$chk_str
变量的作用域位于函数
chk_string
内部,因此您无法在函数外部访问它。因为您在函数
chk_string
中返回
$chk_str
的值,所以您仍然可以通过函数
chk_string
的响应来访问其值,例如:

echo chk_string('a string');


使用
echochk_字符串($string)
$chk_str
仅在函数内部有效。另外,请删除
“false”
“true”
中的引号,我建议您阅读有关的手册。这是您需要了解的基础知识之一。在深入到preg_match之前,先从变量范围开始。将函数缩减为
function chk_string($string){return preg_match('/[\^$%&*()){-+=,$string)}
。不需要任何if语句。使用
echochk_字符串($string)
$chk_str
仅在函数内部有效。另外,请删除
“false”
“true”
中的引号,我建议您阅读有关的手册。这是您需要了解的基础知识之一。在深入到preg_match之前,先从变量范围开始。将函数缩减为
function chk_string($string){return preg_match('/[\^$%&*()){-+=,$string)}
。不需要任何if语句。