Heim  >  Artikel  >  Backend-Entwicklung  >  请问怎么在PHP多维数组中筛选出自己想要的数值并输出

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

WBOY
WBOYOriginal
2016-06-13 12:04:341599Durchsuche

请教如何在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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn