我不知道。为什么我的价值匹配。我有用户表值,正在打印我的数据。但是我从当前日期到下一个日期都匹配我,所以不要匹配一些有价值的员工dob和我的约会对象。 我不知道。为什么我的价值匹配。我有用户表值,正在打印我的数据。
$dob = User::find() -> select(['employee_dob']) -> asArray() -> all();
date_default_timezone_set('Asia/kolkata');
$curdate = date('Y-m-d');
$dateArray = [];
for ($i = 0; $i < 15; $i++) {
array_push($dateArray, date('Y-m-d', strtotime('+'.$i.
' day')));
}
echo "<pre>";
print_r($dateArray);
echo "<br />";
echo "<pre>";
print_r($dob);
echo "<br />";
if (in_array($dateArray, $dob)) {
echo "right";
die;
} else {
echo "false";
die;
}
答案 0 :(得分:0)
我假设您的$ dateArray是数组格式的数组。
你能做的是,
打印该数组,因为in_array会检查数组值。
之后,迭代该数组。
祝你好运!
答案 1 :(得分:0)
如果您想显示从当前日期到下一个15天即将到来的用户生日。直接从具有条件的数据库中获取它。只需按照
操作即可 $dob = User::find()->select(['employee_dob'])
->where(DB::raw('employee_dob >= NOW()'))
->where(DB::raw('employee_dob <= DATE_ADD(NOW(), INTERVAL 15 DAY)'))
->asArray()
->all();
它只返回用户从当前日期到下一个15天的生日
答案 2 :(得分:0)
月份&amp;天强>
$monthDate = DateTime::createFromFormat('m-d', date('m-d'));
$startDate = $monthDate->format('m-d');
$monthDate->modify('+15 days');
$endDate = $monthDate->format('m-d');
<强>查询强>
$dob = User::find()
->select(['employee_name', 'DATE_FORMAT(employee_dob, "%d-%m-%Y") as dob'])
->where(['>=', 'DATE_FORMAT(employee_dob, "%m-%d")', $startDate])
->andWhere(['<=', 'DATE_FORMAT(employee_dob, "%m-%d")', $endDate])
->asArray()
->all();
<强>输出强>
[
0 => [
'employee_name' => 'Insane'
'dob' => '09-09-1993'
]
1 => [
'employee_name' => 'Skull'
'dob' => '03-09-1999'
]
];