else语句不适用于以下php代码
我有一个医生的时间表,上面有日期,只返回那些比今天大的日期。但如果有日期早于今天,我无法返回任何可用日期 这是我的密码:else语句不适用于以下php代码,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有一个医生的时间表,上面有日期,只返回那些比今天大的日期。但如果有日期早于今天,我无法返回任何可用日期 这是我的密码: $lists = Gateway::Onlineschedule()->schedulelist($inputs['doctor_id']); $today=date("d/M/Y"); if(count($lists) == 0) { return 'No entry detected'; } else { foreach ($lists as
$lists = Gateway::Onlineschedule()->schedulelist($inputs['doctor_id']);
$today=date("d/M/Y");
if(count($lists) == 0)
{
return 'No entry detected';
}
else
{
foreach ($lists as $list)
{
$api_procedure['Day'] = $list->day;
if($api_procedure['Day']>$today)
{
$listing[] = $api_procedure;
}
else
{
return 'No dates available';
}
}
return json_encode($listing);
}
dd$列出申报表
Collection {#273
#items: array:3 [
0 => {#272
+"id": 1
+"doctor_id": "EZD0004"
+"day": "13/Jun/2018"
+"time_slot": "10:00PM,11:00PM,12:00PM"
+"status": "Available"
}
1 => {#270
+"id": 3
+"doctor_id": "EZD0004"
+"day": "24/Jun/2018"
+"time_slot": "12:00pm,1:00pm"
+"status": "admitted"
}
]
}
我应该更改什么以获得所需的输出
这是在laravel框架中。
谢谢。我建议您首先将两个日期转换为时间戳。以这种方式编写if-else语句:
$api_procedure['Day'] = strtotime(date("Y-m-d", strtotime($list->day)));
$today = strtotime('now');
if ($api_procedure['Day'] > $today) {
$listing[] = $api_procedure;
} else {
return 'No dates available';
}
很可能您的查询不正确显示$lists的输出:echo;使用dd$lists查看它的containsquery是正确的,如果语句仅在我提供的时候起作用,否则它不会得到所需的结果output@AkintundeOlawale.我已经用dd@Kerbholz更新了问题可能是$api_程序['Day']>$today,$today是日期,但$api_程序['Day']是字符串,否?它不起作用。即使$api_过程['Day']>$today条件成立,它也会显示“没有可用日期”。我真的不明白这是哪里弄错了。我以前用laravel carbon转换日期,那也没有运气。@gaan10打印$api_过程['Day'时会得到什么今天个人收入是多少?@gaan10很高兴知道你能解决这个瓶颈
$inputs = \Input::all();
$lists = Gateway::Onlineschedule()->schedulelist($inputs['doctor_id']);
$today = Carbon::today()->format('d/M/Y');
$new_records = [];
foreach ($lists as $list)
{
$api_procedure['Day'] = $list->day;
$api_procedure['Day'] = Carbon::createFromFormat('d/M/Y', $api_procedure['Day'])->format('d/M/Y');
if($api_procedure['Day'] > $today)
{
$new_records[] = $api_procedure;
}
}
if(count($new_records) > 0)
{
return $new_records;
}
else
{
return 'No records';
}