已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 源码

标题: PHP keyvalue减少数据库调用

作者: @Ta

时间: 2015-08-19

点击: 2472

function keyvalue($data,$name = 'name',$value = 'value'){
	foreach ($data as $v){
		if(is_array($value)){
			foreach($value as $k){
				$arr[$k] = $v[$k];
			}
		}else{
			$arr = $v[$value];
		}
		$str[$v[$name]] = $arr;
	}
	return $str;
}


比如数据库有类似这样的表。




那么,你每次需要一个数据可能就需要select一次。如:$config=$db->select('*','表名','WHERE id=?',$id)->fetch();

目前我的解决办法就是,我们先把所有数据取出,$config=$db->select('*','表名','WHERE 1')->fetchAll();
原数组为:


然后用这个keyvalue方法可以把数组变成以下几种,从而可以$config['name']来调用每一项:
keyvalue($config):


keyvalue($config,'name',array('id','name','value')):



不喜勿喷~

[隐藏样式|查看源码]


『回复列表(3|隐藏机器人聊天)』

1. 大概懂意思了。
(/@Ta/2015-08-19 12:24//)

2. pdo预处理
(/@Ta/2015-08-19 13:01//)

3. 这种场景可以使用redis
(/@Ta/2015-08-19 14:27//)

回复需要登录

7月7日 14:35 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1