function givemeposts($user, $pos){
$sql = "select * from posts where user ='" . $user . "' and pos = '" . $pos . "' order by inde";
...
givemeposts('public', 'home01'); // this works as usual
现在我需要调用上面的函数,但没有$pos
param,即$pos
值是什么。
类似的东西:
givemeposts('public', whatever);
有什么办法吗?
答案 0 :(得分:1)
您可以使用默认参数:
function givemepost( $user , $pos=NULL ){
if($pos==NULL){
//some code
}lese{
$sql = "select * from posts where user ='" . $user . "' and pos = '" . $pos . "' order by inde";
}
}
这样你可以用一个参数调用函数,并在if分支中设置函数必须做的事情。
答案 1 :(得分:1)
在PHP中,您可以设置default values for arguments
默认值必须是常量表达式,而不是(例如)变量,类成员或函数调用。
请注意,使用默认参数时,任何默认值都应位于任何非默认参数的右侧;否则,事情将无法按预期发挥作用。
如果你这样做,$ pos的默认值将是''(一个空字符串):
function givemeposts($user, $pos = ''){
或者你可以使用其他东西而不是空字符串,无论你想要什么价值:
function givemeposts($user, $pos = 'SomeValue'){
然后你可以简单地调用你的函数:
givemeposts($user);
答案 2 :(得分:1)
你可以试试这个:
function givemeposts($user, $pos = '')
{
if(!empty($pos)) {
$pos = "AND pos = '" . $pos . "'";
}
$sql = "SELECT * FROM posts WHERE user ='" . $user . "' $pos ORDER BY inde";
}
givemeposts('public');