如何过滤foreach数组的整数

时间:2014-08-14 23:39:40

标签: php sql

我有一个基于php生成的查询的for-each语句..

我试图找出如何确保记录的所有IDDestinations都相同。

例如,在我当前的查询中,我有2条IDDestination为12的记录,一条记录的IDDestination为9,最后一条为3。

我知道如何在查询中执行此操作,但如果IDDestinations不等效,我会尝试向用户生成一条消息。

到目前为止我的代码。

foreach($results as $row) {
    $IDDestination =(int) $row['IDDestination'];
    if ($IDDestination == $IDDestination){
        echo "<script>alert('All Courses Match Destination.');</script>";
    } else {
        echo "<script>alert('Courses have different Destinations);</script>";
    }
    var_dump($IDDestination);
}

目前只是验证每条记录都有IDDestination Present,并告诉我所有课程匹配。

我怎样才能使INTEGERS等同并给我相同的信息?

1 个答案:

答案 0 :(得分:1)

这是一种方式;使用循环外的变量来确定它是否正常:

$everything_matches = true;
$id = null;

foreach($results as $row) {
    // Set it for the first record.
    if($id === null)
        $id = $row['IDDestination'];

    // If the current iteration's ID matches the first record, $everything_matches
    // will stay true, otherwise it's false and we should kill the loop.
    if($id != $row['IDDestination']) {
        $everything_matches = false;
        break;
    }
}

// Output your message
$message = $everything_matches ? 'All courses match destination.' : 'Courses have different destinations.';
echo '<script>alert("' . $message . '");</script>';