将数组传递给函数

时间:2011-03-21 01:07:41

标签: php

大家好,请帮我解决这段代码

$user = new User();
$user->connect();
$pno=$_POST['pno'];
$name=$_POST['name'];
$age=$_POST['age'];
$result = array('name'=>$name,'age'=>$age,'pno'=>$pno);
$error=$user->edit($result);
$user->disconnect();

我想对这些代码行进行说明

$pno=$_POST['pno'];
$name=$_POST['name'];
$age=$_POST['age'];
$result = array('name'=>$name,'age'=>$age,'pno'=>$pno);

我的意思是这样的

$result = array('$_POST['name']'=>$name,'$_POST['age']'=>$age,'$_POST['pno']'=>$pno);

但是我无法正确地说''请帮我解决这个以及关于qoutes的一些简单的提示。感谢

5 个答案:

答案 0 :(得分:0)

$result = array($_POST['name']=>$name,$_POST['age']=>$age,$_POST['pno']=>$pno);

您的代码失败的原因是因为您试图在带有单引号的字符串中插入$ _POST ['name'],这将失败,因为$ _POST ['name']也包含单引号(这将引发解析错误。)

答案 1 :(得分:0)

您正在使用嵌套引号分解字符串。请改用“......”,如下所示:

$result = array('$_POST["name"]'=>$name, '$_POST["age"]'=>$age,'$_POST["pno"]'=>$pno);

那就是说,就个人而言,我会选择更具描述性和不那么混乱的字段名称,如“名字”,“年龄”等......

答案 2 :(得分:0)

$result = array(
    'name' => $_POST['name'],
    'age' => $_POST['age'],
    'pno' => $_POST['pno']
);

答案 3 :(得分:0)

$result = array($_POST['name']=>$name, $_POST['age']=>$age, $_POST['pno']=>$pno);

这应该可行,但是您的数组键索引将与数字和字符串混合,加上您的代码不起作用,因为您使用“'”将解释$ _POST ['age']作为一个字符串,如果它工作,双引号可以理解其中的变量。

答案 4 :(得分:0)

如果你真的想要将整个变量名称作为每个结果变量的关键,你可以这么做吗?

$results['$_POST["name"]'] = $name;
$results['$_POST["age"]'] = $age;
$results['$_POST["pno"]'] = $pno;