Php 缺少函数参数错误
我想使用一个函数来回显我命名为“name”的值。该值通过POST方法从表单发送到函数 我的HTML:Php 缺少函数参数错误,php,function,post,Php,Function,Post,我想使用一个函数来回显我命名为“name”的值。该值通过POST方法从表单发送到函数 我的HTML: <html> <head> <title> function play </title> </head> <body> <form method="post" action="function.php"> Name: <input type="text" name="name"/> <input
<html>
<head>
<title> function play </title>
</head>
<body>
<form method="post" action="function.php">
Name: <input type="text" name="name"/>
<input type="submit" name="submit" value="submit"/>
</form>
</body>
</html>
功能扮演
姓名:
我的PHP:
<?php
$name= $_POST['name'];
function writeName($name)
{
echo $name;
}
writeName();
?>
出于某种原因,我不断收到错误:
警告:writeName()缺少参数1,在第7行的C:\xampp\htdocs\function.php中调用,在第3行的C:\xampp\htdocs\function.php中定义
注意:未定义变量:第5行C:\xampp\htdocs\function.php中的名称
我做错了什么?您需要向函数传递一个参数
writeName($name);
您需要向函数传递一个参数
writeName($name);
必须将参数传递给函数
writeName($name)代码>
或您可以为函数参数设置默认值:
function writeName($name = null)
{
echo $name;
}
必须将参数传递给函数writeName($name)代码>
或您可以为函数参数设置默认值:
function writeName($name = null)
{
echo $name;
}
您将函数定义为函数writeName($name)
,这意味着它需要一个参数。但是当你调用函数时,你不会传递参数。试着改变
writeName();
致:
您将函数定义为函数writeName($name)
,这意味着它需要一个参数。但是当你调用函数时,你不会传递参数。试着改变
writeName();
致:
您没有将参数传递给函数。试试这个:
<?php
function writeName($name)
{
echo $name;
}
writeName($_POST['name']);
?>
您没有将参数传递给函数。试试这个:
<?php
function writeName($name)
{
echo $name;
}
writeName($_POST['name']);
?>
原因是:您将writeName
函数声明为需要一个名为$name
的参数。但是当您调用该函数时,您没有传递任何参数。您应该像这样使用函数:
writeName("some string here");
原因是:您将writeName
函数声明为需要一个名为$name
的参数。但是当您调用该函数时,您没有传递任何参数。您应该像这样使用函数:
writeName("some string here");
您已将“writeName”函数定义为接受一个参数。调用函数时,必须提供此参数
writeName($name);
或
您已将“writeName”函数定义为接受一个参数。调用函数时,必须提供此参数
writeName($name);
或
正如其他人所说,调用函数时需要将值作为参数传递
writeName($name);
PHP中的变量是。这意味着,无论您在哪里定义变量,都会影响其上下文。在您的示例中,在脚本级别定义的$name与作为函数参数定义的$name不同。但是,函数中使用的$name将始终引用该函数中的同一变量
writeName($name);
在实践中,考虑如下:
$name = 'a';
function writeName( $name )
{
echo $name; // echoes 'b'
}
writeName( 'b' );
echo $name; //echoes 'a'
另一种思考方法是改变变量的名称,使它们明显不同:
$getName= $_POST[ 'name' ];
function writeName( $nameToWrite )
{
echo $nameToWrite;
}
writeName( $getName );
您还可以在函数内部使用global
关键字,让PHP知道您正在全局范围内引用变量(即,在脚本级别,在函数外部),但这通常是不好的做法
$getName = $_POST[ 'name' ];
function writeName() // Notice that we don't need to pass $getName as an argument
{
global $getName;
echo $getName;
}
writeName();
正如其他人所说,调用函数时需要将值作为参数传递
writeName($name);
PHP中的变量是。这意味着,无论您在哪里定义变量,都会影响其上下文。在您的示例中,在脚本级别定义的$name与作为函数参数定义的$name不同。但是,函数中使用的$name将始终引用该函数中的同一变量
writeName($name);
在实践中,考虑如下:
$name = 'a';
function writeName( $name )
{
echo $name; // echoes 'b'
}
writeName( 'b' );
echo $name; //echoes 'a'
另一种思考方法是改变变量的名称,使它们明显不同:
$getName= $_POST[ 'name' ];
function writeName( $nameToWrite )
{
echo $nameToWrite;
}
writeName( $getName );
您还可以在函数内部使用global
关键字,让PHP知道您正在全局范围内引用变量(即,在脚本级别,在函数外部),但这通常是不好的做法
$getName = $_POST[ 'name' ];
function writeName() // Notice that we don't need to pass $getName as an argument
{
global $getName;
echo $getName;
}
writeName();
或者在OP的情况下,writeName($name)
或在OP的情况下,writeName($name)代码>