草庐IT

if-isset-empty

全部标签

PHP empty() 函数在空数组中不起作用

我需要在发布表单数据时检查空输入。我有这个代码:foreach(array_filter($_POST['video'])as$video_url){if(!empty($video_url)){echo'true';}else{echo'false';}}但此代码不适用于空输入。我print_r($_POST['video'])当发送空输入时(在foreach代码之前)并看到这个结果:Array([0]=>)在我的案例中如何检查空输入?! 最佳答案 您的array_filter使数组为空,您无法迭代空数组。你应该使用:$video

php - 使用 php if 语句验证输入值在 0 到 100 之间

我尝试了以下操作以确保输入值在0和100之间,但它没有用。if(($_POST['rate'])>='0'||=Pleaseenteravaluebetween0and100';} 最佳答案 问题1:string对比int目前,您比较的是字符串,而不是数字。投出你的$_POST变量为int并删除0周围的撇号和100解决这个问题:$rate=(int)$_POST['rate'];if($rate>=0||=问题2:缺少某些东西但是,这仍然不会产生预期的结果,因为您缺少$rate进行第二次比较。将其更改为:$rate=(int)$_P

!isset() 与 === null 的 PHP 性能

我知道isset()与empty()的基准测试,但我有仅在参数为null时才需要执行的代码。这是一个执行多次的函数,所以我想优化它。我知道isset()比empty()快,但是!isset()与===null呢?我知道该变量将存在,因此我只需要针对null对其进行测试。我正在考虑对!运算符(operator)。 最佳答案 我懒得要求别人对此进行基准测试,所以我尝试了一百万次迭代。差别很小,所以!isset()是更好的选择,因为如果变量未定义,===null会抛出错误。一百万次迭代:!isset().1118===null.1046顺

PHP:不使用 else 使用简短的 if 语句?

我是if简短if版本的粉丝,例如:($thisVar==$thatVar?doThis():doThat());不过我想删除else语句,例如:($thisVar==$thatVar?doThis());但是,它不会起作用。有没有我错过的方法? 最佳答案 没有else就不能使用它。但你可以试试这个:($thisVar!=$thatVar?:doThis());或if($thisVar==$thatVar)doThis(); 关于PHP:不使用else使用简短的if语句?,我们在Stack

php - 在 PHP 中避免空值时,我可以重新实现 isset 吗?

我遇到了我认为每个人都会遇到的空值问题:也就是说,有不同种类的空值。它可能表示“空”、“未更改”、“未设置”、“未知”或任何数量的事物。我已经到了需要以某种方式区分它们的地步。基本上我的程序有一个数据库管理器部分,它从我的程序的另一部分接收一个表示要在数据库中更新的数据的对象,该部分负责验证表单数据并将其转换为所述对象(其中一个几个具有特定预定义属性的不同类)。我需要一些方法来区分该对象中的“null”属性,这意味着“我实际上想要将值null存储在数据库中”和不同类型的“null”,这意味着“如果数据库中存在现有值,请不要'改变它“。在这两者中,后者将是迄今为止更常见的情况,但我需要一

与url地址相关的php if语句

假设我的URL地址是www.example.com我想在我的脚本中有一个if语句,这样如果url是www.example.com则测试条件为真,如果它是其他任何东西则为假,例如www.example.com/test或www.example.com?var=3&function=7。我如何实现这一点?它会增加网页加载的开销吗?因为我将在网站的首页上有这个if语句。谢谢 最佳答案 它只会增加一些加载时间,因为它只是解析一些header信息。$_SERVER['HTTP_HOST']//Thehost(e.g.www.example.c

PHP if/else 语句

如何在PHP中编写以下语句:如果bodyID="home"然后插入一些html,例如Iamhome!否则,插入此html:I'mnothome. 最佳答案 使用原生PHP模板实现:Iamhome!I'mnothome! 关于PHPif/else语句,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4104767/

php - 多条件 IF 语句

我有一个包含多个条件的if语句,但我似乎无法正确处理if(((ISSET($_SESSION['status']))&&($_SESSION['username']=="qqqqq"))||((ISSET($_SESSION['status']))&&($_SESSION['company']=="wwwwww"))||((ISSET($_SESSION['status']))&&($_SESSION['company']=="ffffffff"))||((ISSET($_SESSION['status']))&&($_SESSION['company']=="ggggggg"))||

php - isset 静态类属性

classA{publicstatic$foo=42;}$class='A';$attribute='foo';var_dump(isset($class::$attribute));//givesbool(false)我如何检查这个类中是否存在这个静态属性? 最佳答案 使用variablevariables:var_dump(isset($class::$$attribute));//thetwodollarsareintentional如果您还没有PHP5.3,唯一准确的方法可能是使用ReflectionAPI:$reflect

php - 科哈纳 3.1 ORM : Empty model property value saved as 0 (zero) instead of NULL

我有两个模型,Product和Product_Methodology。在我的产品编辑View中,我有一个选择表单字段来选择多种方法之一或不选择(第一个选项为空)。在我的产品表中,我有一个INT(10)methodology_id属性,该属性与从选择表单字段中选择的方法的id一起保存。一切正常,直到今天我不得不对系统进行调整,从现在开始选择一种方法是可选的。所以我更改了产品表的methodology_id字段以允许NULL值并删除了模型上的not_empty验证规则。问题是,现在当我保存模型时选择空选项,而不是预期的NULL,我得到一个0(零)值。有什么线索吗?非常感谢,如果不是很清楚,