中使用的函數內部定義了變量我想將參數傳遞給函數。但是,在這個參數中,我使用了在函數內定義的變量。 例如:PHP:將參數傳遞給函數,但在參數
<?php
function foo($var){
$test = "test";
echo $var;
}
foo($test);
?>
在這個例子中,我想對函數打印出「測試」。當然,這會返回一個錯誤。不過,這正是我想要做的。
中使用的函數內部定義了變量我想將參數傳遞給函數。但是,在這個參數中,我使用了在函數內定義的變量。 例如:PHP:將參數傳遞給函數,但在參數
<?php
function foo($var){
$test = "test";
echo $var;
}
foo($test);
?>
在這個例子中,我想對函數打印出「測試」。當然,這會返回一個錯誤。不過,這正是我想要做的。
您可以使用variable-variables
做到這一點,雖然我不明白你爲什麼會想/需要:在echo
聲明
function foo($var){
$test = "test";
echo $$var;
}
foo('test');
公告內foo()
,該變量有兩個$
領先。這是一個variable-variable
和$var
的值將被視爲一個變量名稱。因此,通過調用foo('test');
(在這種情況下參數是一個字符串),$$var
將評估爲$test
。
OP在我心中想要的最可能的翻譯:) –
謝謝,這就是我所需要的。 –
@Sang:請注意,使用變量變量通常是一個糟糕的設計選擇。如果你想解釋你實際想要解決的問題,我們可以幫助你更好。 –
這似乎沒有對我有很大的意義...你爲什麼要這樣做? (這是不可能的順便說一句,除非你使'$ test'成爲全局變量,否則在函數內定義它的目的是失敗的)。函數中定義的變量應保持本地,外部不可訪問,以保持代碼解耦。 –
該函數包含一個foreach,foreach($ array爲$ post),並且在參數中使用變量$ post。 –
爲什麼你傳遞'$ post'作爲參數?或者你的意思是參數名稱是'$ post'?在循環過程中'$ post'將會被'$ array'中的每個元素填充。我仍然不明白,我更加困惑。 –