現(xiàn)有測試數(shù)據(jù)如下,要求實(shí)現(xiàn)如下圖中的效果:
- array(4) {
- [0] =>array(6) {
- ["visit_id"] => int(127)
- ["goods_id"] => int(16)
- ["visittime"] => int(1494399935)
- ["goods_name"] => string(53)"OPPO R9s 全網(wǎng)通4G+64G 雙卡雙待手機(jī) 玫瑰金"
- ["shop_price"] => string(6)"500.00"
- }
- [1] =>array(6) {
- ["visit_id"] => int(124)
- ["goods_id"] => int(13)
- ["visittime"] => int(1494399921)
- ["goods_name"] => string(76)"SIEMENS/西門子 KA92NV09TI雙開門家用對開門電冰箱變頻旗艦款"
- ["shop_price"] => string(7)"4000.00"
- }
- [2] =>array(6) {
- ["visit_id"] => int(123)
- ["goods_id"] => int(27)
- ["visittime"] => int(1494399903)
- ["goods_name"] => string(85)"愛他美白金版Aptamil 幼兒配方奶粉3段(12-36個(gè)月適用)900g(歐洲進(jìn)口)"
- ["shop_price"] => string(6)"329.00"
- }
- [3] =>array(6) {
- ["visit_id"] => int(120)
- ["goods_id"] => int(26)
- ["visittime"] => int(1494224263)
- ["goods_name"] => string(21)"歡樂谷免票一張"
- ["shop_price"] => string(5)"50.00"
- }
- }
還沒實(shí)現(xiàn)之前我想這個(gè)代碼不知道要O(n)呢還是更高的復(fù)雜度才能實(shí)現(xiàn),細(xì)想一下,其實(shí)php的數(shù)組底層就是哈希實(shí)現(xiàn)的,如何簡單利用這個(gè)特性使復(fù)雜度降到O(1)呢?
- show me the code:
- /* 瀏覽記錄按日期分組 */
- functiongroupVisit($visit)
- {
- $curyear=date('Y');
- $visit_list= [];
- <a href="/tags.php/foreach/" target="_blank">foreach</a>($visitas$v) {
- if($curyear==date('Y',$v['visittime'])) {
- $date=date('m月d日',$v['visittime']);
- }else{
- $date=date('Y年m月d日',$v['visittime']);
- }
- $visit_list[$date][] =$v;
- }
- return$visit_list;
- }
好了上面的測試數(shù)據(jù)經(jīng)過該函數(shù)之后,再把返回值打印出來,有:
- array(2) {
- ["05月10日"] =>array(3) {
- [0] =>array(6) {
- ["visit_id"] => int(127)
- ["goods_id"] => int(16)
- ["visittime"] => int(1494399935)
- ["goods_name"] => string(53)"OPPO R9s 全網(wǎng)通4G+64G 雙卡雙待手機(jī) 玫瑰金"
- ["shop_price"] => string(6)"500.00"
- }
- [1] =>array(6) {
- ["visit_id"] => int(124)
- ["goods_id"] => int(13)
- ["visittime"] => int(1494399921)
- ["goods_name"] => string(76)"SIEMENS/西門子 KA92NV09TI雙開門家用對開門電冰箱變頻旗艦款"
- ["shop_price"] => string(7)"4000.00"
- }
- [2] =>array(6) {
- ["visit_id"] => int(123)
- ["goods_id"] => int(27)
- ["visittime"] => int(1494399903)
- ["goods_name"] => string(85)"愛他美白金版Aptamil 幼兒配方奶粉3段(12-36個(gè)月適用)900g(歐洲進(jìn)口)"
- ["shop_price"] => string(6)"329.00"
- }
- }
- ["05月08日"] =>array(1) {
- [0] =>array(6) {
- ["visit_id"] => int(120)
- ["goods_id"] => int(26)
- ["visittime"] => int(1494224263)
- ["goods_name"] => string(21)"歡樂谷免票一張"
- ["shop_price"] => string(5)"50.00"
- }
- }
- }
對的,這正是我想要的效果。
以上所述是小編給大家介紹的PHP 實(shí)現(xiàn)瀏覽記錄并按日期分組,希望對大家有所幫助。在此也非常感謝大家對本網(wǎng)站的支持!
|
新聞熱點(diǎn)
疑難解答