我有以下代码
<?php
foreach($record as $rec) {
$dates = date('d-M-Y');
$month_year = date('m-Y');
if (($rec['dates'] == $dates && $rec['eid'] == $uid)) {
$today = $rec['amount'];
}
if (($rec['dates'] == $month_year && $rec['eid'] == $uid )) {
$monthlysale = $rec['amount'];
}
}
?>
我正在使用foreach循环,我的记录数组具有以下结构
Array
(
[0] => Array
(
[amount] => 80
[dates] => 12-Mar-2014
[eid] => 63
)
[1] => Array
(
[amount] => 80
[dates] => 12-Mar-2015
[eid] => 63
)
[2] => Array
(
[amount] => 380
[dates] => 13-Mar-2015
[eid] => 63
)
[3] => Array
(
[amount] => 160
[dates] => 14-Mar-2015
[eid] => 63
)
[4] => Array
(
[amount] => 80
[dates] => 03-2014
[eid] => 63
)
[5] => Array
(
[amount] => 620
[dates] => 03-2015
[eid] => 63
)
)
我正在应用 if 条件来检查我从数组 $rec['dates'] 获得的日期是否等于$dates变量中的今天日期,但如果今天的日期与数组中的日期不匹配,这里会出现问题,那么变量$today变得未定义,因为没有与该日期对应的金额,因为如果没有日期,那么就没有金额,我不知道如何制作foreach 循环中的条件使 $today=0 如果 $rec['dates'](来自数组的日期)不等于今天的日期,第二种情况是,如果有日期匹配,那么如果我应用 else 条件来定义 $today=0,那么只有其他部分提前工作.thanx
在 foreach 循环之前将两个变量定义为默认值(零)。
$today = 0;
$monthlysale = 0;
foreach (...) {
...
}
// here both variables are defined, you can work with them.