哪一种是最好,最快的方法?(制作下拉法)

时间:2018-12-13 08:26:34

标签: php

我有两种不同的方法可以帮助制作drop_down(选择)选项。两者都是一样的。在显示所选选项的逻辑上只有不同之处

方法1:

function unit_type_drop_down($selected=''){
    $where = array('status'=>'1');
    $unit_type_data = $this->select_result('unit_type', 'id,name', $where);

    $html = '';
    foreach ($unit_type_data as $value) {
        if($value->id == $selected){
             $html.='<option value="' . $value->id . '" selected>' . ucfirst($value->name) . '</option>';
        }else{
             $html.='<option value="' . $value->id . '">' . ucfirst($value->name) . '</option>';
        }
    }
    return $html;
}

方法2:

function unit_type_drop_down($selected=''){
    $where = array('status'=>'1');
    $unit_type_data = $this->select_result('unit_type', 'id,name', $where);

    $html = '';
    foreach ($unit_type_data as $value) {
        $html.='<option value="' . $value->id . '">' . ucfirst($value->name) . '</option>';
    }
    $html = str_replace('value="'.$selected.'"', 'value="'.$selected.'" selected="selected"', $html);
    return $html;
}

单位类型数据的值类似于

$unit_type_data = array(
    array('id'=>1,'name'=>'unit1'),
    array('id'=>1,'name'=>'unit1'),
    array('id'=>1,'name'=>'unit1'),
    .
    .
    .
    .
    .
    array('id'=>1,'name'=>'unit1')
);

2 个答案:

答案 0 :(得分:2)

您可以使用getusage来检查任何PHP脚本的执行时间。或在每个脚本前后加上microtime,如下所示:

$before = microtime(true);

// some script

$after = microtime(true);
echo ($after-$before);

答案 1 :(得分:2)

第一种方法更快,因为与在字符串中进行搜索和替换相比,IF-ELSE语句和字符串连接消耗更少的资源和操作。

当然,如果您想同时获得两种速度的确切指标,则应计算asymptotic complexity来确定PHP中字符串的连接和替换字符串。

此外,第一种方法比第二种方法更易于阅读