如何用laravel中的函数写多个条件?
How to write multiple conditions with functions in laravel?
我有一个名为 conversionData() 的函数,它从请求中获取输入并根据输入类型进行转换。
Public static function conversationData (Request $request){
$value=$request->type;
if(is_float($value)){
//return some code
}
if(is_string($value)){
// Return code
}
else{
// If it's integer
return $value;
}
}
如果我在 url 作为 {url}&type=33.34 它应该执行 is_float 条件但它执行 is_string condition.how 正确执行请帮助我
您可以先检查浮点数然后检查整数然后检查字符串,使用 this way:
检查浮点数的 $value
$floatVal = floatval($value);
// If the parsing succeeded and the value is not equivalent to an int
if($floatVal && intval($floatVal) != $floatVal)
{
// $num is a float
//return some code
}
不是float,那就继续查:
if(is_integer($value)){
//return some code
}
if(is_string($value)){
// Return code
}
else{
return $value;
}
您可以使用 gettype($value)
函数,然后使用 switch case 相应地应用逻辑
switch(gettype($value)) {
case 'integer':
// write integer code here
break;
case 'string':
// write string code here
break;
default:
break;
}
有关 gettype() 的更多信息;可以参考:https://www.php.net/manual/en/function.gettype.php
我有一个名为 conversionData() 的函数,它从请求中获取输入并根据输入类型进行转换。
Public static function conversationData (Request $request){
$value=$request->type;
if(is_float($value)){
//return some code
}
if(is_string($value)){
// Return code
}
else{
// If it's integer
return $value;
}
}
如果我在 url 作为 {url}&type=33.34 它应该执行 is_float 条件但它执行 is_string condition.how 正确执行请帮助我
您可以先检查浮点数然后检查整数然后检查字符串,使用 this way:
检查浮点数的 $value$floatVal = floatval($value);
// If the parsing succeeded and the value is not equivalent to an int
if($floatVal && intval($floatVal) != $floatVal)
{
// $num is a float
//return some code
}
不是float,那就继续查:
if(is_integer($value)){
//return some code
}
if(is_string($value)){
// Return code
}
else{
return $value;
}
您可以使用 gettype($value)
函数,然后使用 switch case 相应地应用逻辑
switch(gettype($value)) {
case 'integer':
// write integer code here
break;
case 'string':
// write string code here
break;
default:
break;
}
有关 gettype() 的更多信息;可以参考:https://www.php.net/manual/en/function.gettype.php