php - 确定数组中的所有值是否相等

标签 php mysql

我在 mysql 数据库的单个字段中有以下值

$rec1="4/1 @ 4p, 4/7 @ 4p, 4/8 @ 4p, 4/14 @ 4p, 4/15 @ 4p, 4/22 @ 4p, 4/28 @ 4p ";
$rec2="4/1 @ 4p, 4/7 @ 7p, 4/8 @ 4p, 4/14 @ 4p, 4/15 @ 4p, 4/22 @ 4p, 4/28 @ 4p ";

我需要确定所有时间值是否都相同,如果是,则只返回单个时间值,否则返回整个字符串。 在上面的两条记录中,我希望返回值是 - $rec1=4p(所有时间都相同,不关心日期) $rec2= unchanged 与上面的原始 $rec2 相比,因为至少有一个时间值不同。

最佳答案

试一试:

$rec1="4/1 @ 4p, 4/7 @ 4p, 4/8 @ 4p, 4/14 @ 4p, 4/15 @ 4p, 4/22 @ 4p, 4/28 @ 4p ";
$rec2="4/1 @ 4p, 4/7 @ 7p, 4/8 @ 4p, 4/14 @ 4p, 4/15 @ 4p, 4/22 @ 4p, 4/28 @ 4p ";

function wtf($over) {
    $split = split(",",$over);
    $times = array();
    foreach ($split as $schedule) {
        $parts = split("@",$schedule);
        $times[] = trim($parts[1]);
    }
    $times = array_unique($times);
    if (count($times) == 1) return $times[0];
    return $over;
}

echo wtf($rec1);
echo "<BR>";
echo wtf($rec2);

经过验证的工作地点:http://gfosco.kodingen.com/6241557.php

关于php - 确定数组中的所有值是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241527/

相关文章:

php - 按类别统计总数量

php - 使用 php 从 xml 中删除前导空格

PHP 在每次重新加载时创建新 session

php - PDO 更新多条记录

php - 如何在不同的表上选择相应的数据?

mysql - 统计某个类别和月份/年份的已发布帖子数量

mysql - 使用 SQL 设置表中的列以匹配另一个表中的最高上下文值

php - .htaccess 文件不适用于本地主机 XAMPP

php - 无法使用 PHP 在 MySql 中插入数据

php - 在 MySQL DB 的 PHP 中显示为 URL 链接的图像