小编Kyl*_*ots的帖子

json编码仅返回部分数据

这是我有的:

public function get_model_by_make($make = null){
    $model_data = $this->vehicle_model->get_model($make);
    echo json_encode($model_data);
}   

public function get_model($make){

    $this->db->select('models_id, models_name');    
    $this->db->where('makes_id', $make);
    $models_data = $this->db->get('Models');

    $rows = array();
    $rows[0] = '-Select-';
    foreach($models_data->result() as $value){
        $rows[$value->models_id] = $value->models_name;
    }
    return $rows;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,如果我将一个0或1传递给get_model_by_make()函数,则返回没有数组键的json数据.

例:

$data = get_model_by_make(1)
echo $data; 
Run Code Online (Sandbox Code Playgroud)

结果:

["-Select-","CL","CSX","EL","Integra","Legend","MDX","NSX","RDX","RL","RSX",
"SLX","TL","TSX","Vigor"]
Run Code Online (Sandbox Code Playgroud)

如果传递的数字大于1,则返回如下:

$data = get_model_by_make(2)
echo $data; 
Run Code Online (Sandbox Code Playgroud)

结果:

{"0":"-Select-","35":"Alliance","36":"Ambassador","37":"AMX","38":"Classic"}
Run Code Online (Sandbox Code Playgroud)

为什么json_encode不返回0或1的键/值对?如果我var_dump的数据键/值在那里.

php json

0
推荐指数
1
解决办法
889
查看次数

大量使用php echo语句会使页面加载时间变慢吗?

我知道之前曾有人问过这个问题,但我找不到确切的答案。

过度使用echo语句是否会减慢最终用户的加载时间?

通过在文件中包含更多echo语句,文件大小会增加,因此我知道这将是一个因素。如果我错了纠正我。

经过一些研究,我知道使用php的ob_start()函数以及提高Apache的SendBufferSize可以减少加载时间,但是据我了解,通过允许php更快地完成/退出,这更多的是减少了php执行时间。 Apache即将退出。

话虽这么说,php确实会更快退出,但这是否意味着php实际上花费了更少的时间来执行,从而在最终用户方面加快了速度?

明确地说,我的意思是,如果我有2个文件,相同的内容,并且每个文件都使用echo语句,而另一个文件使用了插入和脱离php的标准方法(除了文件大小与echo语句的“过度”使用(我猜中原因吗?)之间的差异,哪一个会更快?还是真的没有任何区别?

也许我正在考虑这个问题或正在看这个错误吗?

编辑:我做了一些检查,并找到了一种创建秒表来检查脚本执行时间的方法,并且似乎可以很好地退出。如果有人有兴趣这样做,这里是我现在选择使用的方法的链接。

http://www.phpjabbers.com/measuring-php-page-load-time-php17.html

php apache echo load-time

-2
推荐指数
1
解决办法
1202
查看次数

标签 统计

php ×2

apache ×1

echo ×1

json ×1

load-time ×1