在PHP中格式化SQL结果的最快方法
PHP中转换(我的)SQL结果的最快(性能最好)方法是什么,如:在PHP中格式化SQL结果的最快方法,php,sql,mysql,mapping,resultset,Php,Sql,Mysql,Mapping,Resultset,PHP中转换(我的)SQL结果的最快(性能最好)方法是什么,如: array( array('user_name' => 'john', 'tag_id' => 1, 'tag_name' => 'foo'), array('user_name' => 'john', 'tag_id' => 2, 'tag_name' => 'bar'), array('user_name' => 'rick', 'tag_id' => 3, 'tag_na
array(
array('user_name' => 'john', 'tag_id' => 1, 'tag_name' => 'foo'),
array('user_name' => 'john', 'tag_id' => 2, 'tag_name' => 'bar'),
array('user_name' => 'rick', 'tag_id' => 3, 'tag_name' => 'foobar'),
array('user_name' => 'rick', 'tag_id' => 2, 'tag_name' => 'bar')
);
进入更易于使用的领域:
array(
array('name' => 'john', 'tags' => array(
array('id' => 1, 'name' => 'foo'),
array('id' => 2, 'name' => 'bar')
),
array('name' => 'rick', 'tags' => array(
array('id' => 3, 'name' => 'foobar'),
array('id' => 2, 'name' => 'bar')
)
);
或者有没有一个库已经做到了这一点,而没有增加完整ORM的灵活性和性能影响
谢谢试试这个:
$data = array(
array('user_name' => 'john', 'tag_id' => 1, 'tag_name' => 'foo'),
array('user_name' => 'john', 'tag_id' => 2, 'tag_name' => 'bar'),
array('user_name' => 'rick', 'tag_id' => 3, 'tag_name' => 'foobar'),
array('user_name' => 'rick', 'tag_id' => 2, 'tag_name' => 'bar')
);
$final = array();
foreach ($data as $item) {
if (!isset($final[$item['user_name']])) {
$final[$item['user_name']] = array(
'name' => $item['user_name'],
'tags' => array()
);
}
$final[$item['user_name']]['tags'][] = array(
'id' => $item['tag_id'],
'name' => $item['tag_name']
);
}
$final = array_values($final);
试试这个:
$data = array(
array('user_name' => 'john', 'tag_id' => 1, 'tag_name' => 'foo'),
array('user_name' => 'john', 'tag_id' => 2, 'tag_name' => 'bar'),
array('user_name' => 'rick', 'tag_id' => 3, 'tag_name' => 'foobar'),
array('user_name' => 'rick', 'tag_id' => 2, 'tag_name' => 'bar')
);
$final = array();
foreach ($data as $item) {
if (!isset($final[$item['user_name']])) {
$final[$item['user_name']] = array(
'name' => $item['user_name'],
'tags' => array()
);
}
$final[$item['user_name']]['tags'][] = array(
'id' => $item['tag_id'],
'name' => $item['tag_name']
);
}
$final = array_values($final);
ezSQL at应该做您想做的事情。我已经接管了一个使用它的项目,它看起来很好地组合在一起。就我自己而言,我更喜欢离金属更近一些,但如果你想把它抽象出来,那么根据我的经验,它看起来相当可靠。ezSQL at应该做你想做的事情。我已经接管了一个使用它的项目,它看起来很好地组合在一起。就我自己而言,我更喜欢离金属更近一些,但如果你想把它抽象出来,那么在我的经验中,它看起来相当可靠。这不会过滤掉重复的部分。当然,查询应该做到这一点,但我总是会重复检查。(并可能记录一条关于重复项的警告)不会过滤出重复项。当然,查询应该做到这一点,但我总是会重复检查。(并可能记录重复的警告)