update aktier
set aktie2 = (select aktie from aktie2 where aktie2.datum = aktier.datum)
where aktie2 is null;
我期待第一句显示"数组相等"。但它并没有。错误在哪里?
答案 0 :(得分:3)
我相当确定老鼠不是兔子;)
<?php
$a=array("mouse",true);
$b=array("rabbit","hedgehog");
if($a==$b) echo"Arrays are equal";
if($a===$b)echo"Arrays are identical";
?>
比较值(==
,值相同)
123=="123" -> true
比较值,然后键入(===
,值相同,类型不相同。)
它们并不完全相同,因为它们都是数组。它们具有不同的值并且被比较,因此它们不相等或相同。您的示例已修改:
123=="123" -> false
一个非常简单的片段来解释逻辑(这远非完美,只是一个例子):
$a=array("mouse",true);
$b=array("mouse","true");
if($a==$b) echo"Arrays are equal"; // this will be shown, values match
if($a===$b)echo"Arrays are identical"; // this wont. Values match but types don't
答案 1 :(得分:1)
正如其他答案中所提到的,这不是php比较运算符的工作原理。
如果要检查两个值的类型是否相同:
T
如果您(更具体地说)想要检查它们是否都是数组:
if(gettype($a)==gettype($b))
如果您知道它们是数组,并且只想检查它们的长度是否相同:
if(is_array($a) && is_array($b))
如果你想同时做两件事
if(count($a)==count($b))