找到我的数组值但在表值中不匹配

时间:2017-08-29 04:46:40

标签: php yii yii2-advanced-app

我不知道。为什么我的价值匹配。我有用户表值,正在打印我的数据。但是我从当前日期到下一个日期都匹配我,所以不要匹配一些有价值的员工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;
}

3 个答案:

答案 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'
    ]
];