发射“[]”的字符串到PHP驱动后端[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发射“[]”的字符串到PHP驱动后端[关闭]相关的知识,希望对你有一定的参考价值。
所以,那里有它调用到后端,其获取在一定时间内所有保留和它们返回到前端的功能。如果在相应的时间内没有保留,后端返回字符串“[]”。然后,这些数据被发送,我评估是否存在或不保留再次后端。对于这一点,我想使用php函数“空()”,在后端。和代码有基本上只是看起来像这样
$allReservationsOrRequestsByUser = json_decode($allReservationsOrRequestsByUser);
if(empty($allReservationsOrRequestsByUser)){
$overlapExists = false;
}else{
$overlapExists =
checkForOverlapWithExistingRequestsOrReservations($todayDate,
$allReservationsOrRequestsByUser);
}
echo $overlapExists;
现在,我试图上面的代码都具有和不具有如果条件之前对其进行解码。在这两种情况下,“空的()”函数总是返回false,这不应该是这样,当数组实际上是空的。我究竟做错了什么?
答案
您要检查“[]”为空。因此,这不是空的字符串...您可以用空检查()像以前一样将其转换为一个适当的阵列...
$a = "[]";
var_dump(empty($a));
var_dump(empty(json_decode($a)));
那回报,
bool(false) <- Without Json decode
bool(true) <- With Json decode
另一答案
您需要检查阵列数据数组或对象e.g如果牵强阵列包含
if(empty($allReservationsOrRequestsByUser[0]['name'])){
$overlapExists = false;
}else{
$overlapExists = checkForOverlapWithExistingRequestsOrReservations($todayDate,
$allReservationsOrRequestsByUser);
}
如果对象,然后用这个和名称是数据库表的列名
if(empty($allReservationsOrRequestsByUser[0]->name)){
$overlapExists = false;
}else{
$overlapExists = checkForOverlapWithExistingRequestsOrReservations($todayDate,
$allReservationsOrRequestsByUser);
}
echo $overlapExists;
以上是关于发射“[]”的字符串到PHP驱动后端[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何将前端 JS 重构为 Angular 2 以与 PHP MVC 后端完美配合? [关闭]