Home >Backend Development >PHP Tutorial >请问怎么在PHP多维数组中筛选出自己想要的数值并输出

请问怎么在PHP多维数组中筛选出自己想要的数值并输出

WBOY
WBOYOriginal
2016-06-13 12:04:341646browse

请教如何在PHP多维数组中筛选出自己想要的数值并输出?
我纠结了好久的一个问题,请大牛赐教!

有这样一个数组


<br />Array( <br />[0] => Array ( <br />    [log_data] => 4 <br />    [log_result] => 0 <br />    [log_time] => 2013-05-08 10:08:40 ) <br />[1] => Array ( <br />    [log_data] => 10018 <br />    [log_result] => 2 <br />    [log_time] => 2013-05-08 10:13:58 ) <br />[2] => Array ( <br />    [log_data] => 10018 <br />    [log_result] => 2 <br />    [log_time] => 2013-05-08 10:14:02 )<br />[3] => Array ( <br />    [log_data] => 10003 <br />    [log_result] => 50 <br />    [log_time] => 2013-05-08 10:18:29 ) <br />)<br />




上面仅列出3个,但实际上可能有几千个。


每个数组的log_time可能是不一样的。

我需要在HTML中按照日期筛选我想要的内容并循环输出该如何做呀?



我想输出的内容如下:

(行为不同值的log_data,列为log_time的年月日,值x为log_data以及log_time匹配的所有数组内的log_result的总和)?

                  2013-05-08          2013-05-09           2013-05-10?

log_data1     值x                     值x                        值x??

log_data2?     值x                     值x                        值x

log_data3?     值x                     值x                        值x

求教。
------解决方案--------------------
$ar = Array( <br />  Array ( <br />    'log_data' => 4,<br />    'log_result' => 0,<br />    'log_time' => '2013-05-08 10:08:40'<br />  ), <br />  Array ( <br />    'log_data' => 10018,<br />    'log_result' => 2,<br />    'log_time' => '2013-05-08 10:13:58',<br />  ),<br />  Array ( <br />    'log_data' => 10018,<br />    'log_result' => 2,<br />    'log_time' => '2013-05-08 10:14:02',<br />  ),<br />  Array (<br />    'log_data' => 10003,<br />    'log_result' => 50,<br />    'log_time' => '2013-05-08 10:18:29',<br />  ),<br />);<br />foreach($ar as $item) {<br />  @$res[$item['log_data']][strtok($item['log_time'], ' ')] += $item['log_result'];<br />}<br />print_r($res);<br />
Array<br />(<br />    [4] => Array<br />        (<br />            [2013-05-08] => 0<br />        )<br /><br />    [10018] => Array<br />        (<br />            [2013-05-08] => 4<br />        )<br /><br />    [10003] => Array<br />        (<br />            [2013-05-08] => 50<br />        )<br /><br />)<br /><br />

------解决方案--------------------

<br><?php <br />$ar = Array( <br>  Array ( <br>    'log_data' => 4,<br>    'log_result' => 0,<br>    'log_time' => '2013-05-08 10:08:40'<br>  ), <br>  Array ( <br>    'log_data' => 10018,<br>    'log_result' => 2,<br>    'log_time' => '2013-05-08 10:13:58',<br>  ),<br>  Array ( <br>    'log_data' => 10018,<br>    'log_result' => 2,<br>    'log_time' => '2013-05-08 10:14:02',<br>  ),<br>  Array (<br>    'log_data' => 10003,<div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn