2011-03-15 78 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