我有以下代码
<?php
$error = array();
$error['something'] = false;
$error['somethingelse'] = false;
if (!empty($error))
{
echo 'Error';
}
else
{
echo 'No errors';
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,即使没有设置,empty($error)仍然会返回true.
什么不对?
关于' 如何判断PHP数组是否为空 '的这个问题让我想到了这个问题
是否有理由count应该使用而不是empty在确定数组是否为空时?
我个人的想法是,如果2应该使用空数组的情况是等价的,empty因为它给出了布尔问题的布尔答案.从上面链接的问题来看,这似乎count($var) == 0是流行的方法.对我而言,虽然技术上正确,但毫无意义.例如Q:$ var,你是空的吗?答:7.嗯...
有没有理由我应该使用count == 0或仅仅是个人品味的问题?
正如其他人在对现在删除的答案的评论中指出的那样,count对大型数组会有性能影响,因为它必须计算所有元素,而empty一旦知道它不为空就可以停止.那么,如果他们在这种情况下给出相同的结果,但count可能效率低下,为什么我们会使用count($var) == 0?
是否count()真的计算了PHP数组的所有元素,或者这个值是否缓存在某处并且只是被检索?
count()数组函数的Big-O时间复杂度是多少?
例
$x = array(1,2,3);
echo count($x); // how many operation does it takes to count the elements
// of the array? is it 3, or is it 1
Run Code Online (Sandbox Code Playgroud) 我见过很多人做过前者,有没有比其他人更好的表现?或者它只是一个眼睛糖果?我个人每次都使用后者,因为它更短,个人对我更具可读性.
********更新**********
var_dump: string(0) ""
我试图检查数组的一部分是否为空,然后显示代码,但无论如何都显示代码.
我试过了!is_null !empty.我不确定哪个应该是正确的,还是应该使用:
if (sizeof($book['Booking']['comments'])>0)
码:
<?php if (!empty($book['Booking']['comments'])) {?>
<table width="100%" border="0">
<tbody>
<tr>
<td style="font-family:'Lucida Grande', sans-serif;font-size:12px;font-weight:normal;color:#666666;">
<?=$book['Booking']['comments']?>
</td>
</tr>
</tbody>
</table>
<? } ?>
Run Code Online (Sandbox Code Playgroud)
阵:
Array
(
[Booking] => Array
(
[id] => 109
[user_id] => 1
[corporate_account_id] => 0
[id_ref] => RES000109
[price] => 178.00
[arrival] => 2011-10-18 00:00:00
[departure] => 2011-10-19 00:00:00
[rate_title] =>
[adult_guests] => 4
[child_guests] => 0
[company] => gravitate
[titlename] =>
[firstname] => John
[surname] …Run Code Online (Sandbox Code Playgroud) 我想计算一些数组中的值的数量.
count和之间有什么区别sizeof?
$recips = array();
echo count($recips);
echo sizeof($recips);
Run Code Online (Sandbox Code Playgroud) 在编写php时,我尽量避免使用尽可能多的警告.关于数组,有一个问题让我困扰了很长一段时间.
在处理数组及其值时,我经常在进入"实际工作"之前检查空值.
if(array_key_exists('bla', $array){
if( !empty($array['bla']) {
# do something
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
这是很多代码,只是检查我是否有值可以使用.是否有一些更短的方法来检查数组中可能存在或不存在的值?
我正在努力根据数组是否有值来显示一些内容。每次执行 else 部分中的代码时。这里有什么问题?这段代码有语法错误吗?我正在使用 php laravel。
foreach($now as $v)
{
$arry[$c++]=$v->Code;
}
if($arry==null){
Do Something
}
else{
Do Something else
}
Run Code Online (Sandbox Code Playgroud) 我想测试一个对象是否为空,我有以下代码
$listcontact = array();
$contact=$ms->search('email','test@live.Fr');
var_dump(($contact));
Run Code Online (Sandbox Code Playgroud)
如果结果$listcontact不为空,则结果如下
object(stdClass)[6]
public 'item' => string 'dfdfsd' (length=7)
Run Code Online (Sandbox Code Playgroud)
如果它是 null ,我得到以下结果
object(stdClass)[6]
Run Code Online (Sandbox Code Playgroud)
如何测试变量$listcontact是否存在?我尝试过is_nulland(empty()但不起作用
以下代码显示$rowsMySQL查询中数组中的记录数组.我还添加了一个if语句来检查是否$rows为空,但它不起作用.
$rows = array();
$result1 = mysql_query("SELECT * FROM TestPhase where Pid<10", $db) or die("cannot select");
while($row = mysql_fetch_array($result1)) {
$rows []= array(
'id' => $row['id'],
'parent' => $row['parent'],
'name' => $row['name'],
);
}
if($rows == ""){
echo "No Data";
}
Run Code Online (Sandbox Code Playgroud)
此if声明无效.如何检查数组是否返回空并回显"无数据".
我如何检查javascript中的数组是否为空?我把$rows阵列放在了一个var treeData.
if (treeData) is empty{
$("button").hide();
}
Run Code Online (Sandbox Code Playgroud)
如何检查是否treeData为空以隐藏按钮.
php ×12
arrays ×9
performance ×2
if-statement ×1
json ×1
laravel ×1
null ×1
semantics ×1
standards ×1
string ×1