我在 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/