php - 求将两个foreach 部分简化 的写法
阿神
阿神 2017-04-11 10:24:19
[PHP讨论组]
function Sec2Time($time){
    if(is_numeric($time)){
    $value = array(
      "years" => 0, "days" => 0, "hours" => 0,
      "minutes" => 0, "seconds" => 0,
    );
    if($time >= 31556926){
      $value["years"] = floor($time/31556926);
      $time = ($time%31556926);
    }
    if($time >= 86400){
      $value["days"] = floor($time/86400);
      $time = ($time%86400);
    }
    if($time >= 3600){
      $value["hours"] = floor($time/3600);
      $time = ($time%3600);
    }
    if($time >= 60){
      $value["minutes"] = floor($time/60);
      $time = ($time%60);
    }
    $value["seconds"] = floor($time);
    $t = '';
    
    foreach ($value as $key => $val) {
        if($val == ''){
            unset($value[$key]);
        }
    }

    foreach ($value as $key => $value) {
        
        if($key == 'years'){
            $t .= $value.'年';
        }
        if($key == 'days'){
            $t .= $value.'天';
        }
        if($key == 'hours'){
            $t .= $value.'小时';
        }
        if($key == 'minutes'){
            $t .= $value.'分';
        }
        if($key == 'seconds'){
            $t .= $value.'秒';
        }
    }
    // var_dump($value);
    // echo $t;exit;
    // //return (array) $value;
    // $t=$value["years"] ."年". $value["days"] ."天"." ". $value["hours"] ."小时". $value["minutes"] ."分".$value["seconds"]."秒";
    return $t;
    
     }else{
    return (bool) FALSE;
    }
 }
阿神
阿神

闭关修行中......

全部回复(1)
巴扎黑
$values= array_filter($value);
$arr = ['years'=>'年','days'=>'天','hours'=>'小时','minutes'=>'分','seconds'=>'秒'];
foreach ($values as $key => $value) {
    $t.=$value.$arr[$key];
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号