PHP中的value = NULL;
和value = "";
有什么区别?value =“”;和值= NULL;在PHP中?
我面临奇怪的响应,如果我设置value = "";
比我从数据库中得到空数组,这是应该得到,但如果我设置value = NULL;
比我从mysql数据库而不是空数组响应空字符串响应。
我不确定为什么会出现这种情况。有什么建议么 !!!
PHP中的value = NULL;
和value = "";
有什么区别?value =“”;和值= NULL;在PHP中?
我面临奇怪的响应,如果我设置value = "";
比我从数据库中得到空数组,这是应该得到,但如果我设置value = NULL;
比我从mysql数据库而不是空数组响应空字符串响应。
我不确定为什么会出现这种情况。有什么建议么 !!!
空字符串和NULL在MySQL中的处理方式不同。我对这个问题的一个类似的问题:
why use NOT NULL default = ''?
你有2个解决方案,在这里:
看一看
直到 你习惯了它的NULL值可奇怪的。从概念上讲,NULL 表示“缺少一个未知值”,它与 其他值有所不同。要测试NULL,您不能使用运算符(如=,<或<>)的算术比较 >。 改为使用IS NULL和IS NOT NULL运算符。
那不是PHP? – antpaw 2010-01-12 16:59:59
不,但它是MySQL,它也在问题中加了标签,没有说明问题适用于哪个问题。投票决定减少业力打击(显然,这是一个很好的答案)。 – 2010-01-12 17:10:57
Value = NULL基本上将变量设置为空。而值=“”将其设置为空白字符串,而空白字符串可能看起来像什么都不是,它在技术上是一个排序值。 NULL和“”都是不同的值。
它们实际上是完全不同的http://php.net/manual/en/language.types.null.php: $ var =“”; is_null($ var)为false。 – Parrots 2010-01-12 17:04:04
好吧,你的权利: <?php if(''== null)echo“''== null”; if(''=== null)echo“''=== null”; 输出: ''== null – 2010-01-12 18:16:51
这是关于PHP或关于SQL数据库的问题吗?如果是关于PHP的话,那么数据库如何评价呢? – Thorarin 2010-01-12 16:58:53