如何在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语句。