PHP keyvalue减少数据库调用

@Ta 2015-08-19 880点击
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)
  • @Ta / 2015-08-19
    大概懂意思了。
  • yun
    @Ta / 2015-08-19
    pdo预处理
  • @Ta / 2015-08-19
    这种场景可以使用redis
添加新回复
回复需要登录

[聊天-聊天灌水] 方妹:Redmi K30 Pro