我有一个返回数据库结果像这样的功能:分类的MySQL结果阵列
<?php print_r($homepagematches; ?>
Array
(
[0] => Array
(
[matchid] => 30
[matchtitle] => Testing This!
[matchaverage] => 1
[matchyoutubecode] => New Match
[casterid] => 1
[matchtype] =>
[matchdate] => 2013-05-24 02:19:49
[matchcasteryoutube] => http://youtube.com/huskystarcraft
[matchcaster] => HuskyStarcraft
)
[1] => Array
(
[matchid] => 27
[matchtitle] => Psy vs Camara
[matchaverage] => 1
[matchyoutubecode] => nefC9vkMfG8
[casterid] => 1
[matchtype] =>
[matchdate] => 2013-05-24 02:13:10
[matchcasteryoutube] => http://youtube.com/huskystarcraft
[matchcaster] => HuskyStarcraft
)
该函数返回内最近3天内的所有比赛中,我试图找出是如何数组改革,我可以在发布日期之前显示比赛。我知道一个foreach循环可能需要这个,我只是无法理解我需要实现的概念。
$matchdate = '';
foreach($this->data['homepagematches'] as $match){
if($matchdate != date('m/d', strtotime($match['matchdate'])) || $matchdate == ''){
$homematch[date('m/d', strtotime($match['matchdate']))] = array(
"matchtitle" => $match['matchtitle']);
}
基本上我需要的阵列看起来像:
Array
(
[05/24] => Array
(
[matchid] =>30
[matchtitle] => Testing This!
[matchyoutubecode] => New Match
[casterid] = 1
)
)
或者您可以查询'matchdate'字段并仅提取正确的结果。这种方式对MySQL的压力较小(不会返回太多结果),也不需要编写php代码来完成mysql应该完成的任务。 – Twisted1919
我收到了正确的结果。查询只返回确实会显示的行。你是说,而不是一个查询在过去3天内拉动所有匹配,我需要有三个不同的查询,每个查询都在某一天,即今天,昨天......。这似乎是服务器处理的更多负载。谢谢你快速的回复! :) –