我在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不同。
发布于 2011-06-05 15:31:21
试一试:
$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
发布于 2011-06-05 15:27:56
使用array_unique或array_count_values
https://stackoverflow.com/questions/6241527
复制相似问题