2011-03-15 76 views
0

你好,我想传递数组到我的类函数,但我没有得到价值。 PLZ帮我出了什么与此示例代码php传递数组到类函数

<?php 
if(isset($_POST['submituser'])) 
{ 
$user = new User(); 
$user->connect(); 
$name=$_POST['name']; 
$age=$_POST['age']; 

$result = array($name=>$name,$age=>$age); 


$user->setUser($result); 

$user->disconnect(); 
} 
?> 

和类函数的问题是这样的

function setUser($result) 
{ 
echo $result[$name]; 
$errors_all = array(); 
$validate = new Validator(); 
$validate->addRequiredFieldValidator($result[$name],"First name is required.").""; 
} 

我可以用$结果得到[0]由我希望通过价值得到它 感谢

回答

3

当通过它,你不应该有数组键中的$。相反,他们应该被引用字符串:

// Incorrect: 
$result = array($name=>$name,$age=>$age); 

// Should be: 
$result = array('name'=>$name,'age'=>$age); 
4

你的代码写的,如果我的名字是Jay,我31年岁,数组看起来像这样的方式......

{ 
'Jay' => 'Jay', 
'31' => 31 
} 

键应该是常数字符串,而不是(在这种情况下)变量,如$符号所示。

试试这个。

$result = array(
    'name'=>$name, 
    'age'=>$age 
); 

这将产生

{ 
'name' => 'Jay', 
'age' => 31 
} 

重要还必须改变你echo'ing您的阵列的路值

//echo $result[$name]; 
echo $result['name']; 
+0

非常感谢。最后它在浪费3小时后工作,您的解决方案完美运行 – umar 2011-03-15 17:07:19

+0

不客气。请确认您可以做些什么来访问您的旧问题并接受答案(通过点击正确答案旁边的复选标记)。否则,人们会犹豫在未来帮助你。 http://stackoverflow.com/users/592344/umar – Dutchie432 2011-03-15 17:09:16