【问题标题】:How to deal with array of multidimensional arrays如何处理多维数组的数组
【发布时间】:2014-09-27 19:17:16
【问题描述】:

我有以下包含数组和数组的数组。这只是一个条目;现在想象一下,我有 20 个来源,每个来源至少包含 10 个条目,如下所示。这是我想要解决的噩梦。

任何人都可以建议我如何在 PHP 中有效地解析它并能够获取每个值以便能够将它们插入数据库以进行进一步处理!谢谢。

Array ( 
    [id] => id 
    [direction] => ltr 
    [updated] => 1407220315278 
    [title] => Syria | The Guardian 
    [alternate] => Array ( [0] => Array ( 
                                [href] => href 
                                [type] => text/html ) ) 
    [continuation] => 147a4ddf48e:28d98:bda086f 
    [items] => Array ( [0] => Array ( 
                                [keywords] => Array ( 
                                                [0] => Global development 
                                                [1] => Refugees 
                                                [2] => Syria 
                                                [3] => Middle East and North Africa 
                                                [4] => World news 
                                                [5] => UK news 
                                                [6] => Scotland 
                                                [7] => Conflict and development 
                                                [8] => Immigration and asylum ) 
                                [fingerprint] => 47075b4f 
                                [originId] => originId 
                                [id] => Te6w3H2VbpKKFda+uYdqytnutphL/kktv0RL7gq9jjU=_147a4ddf48e:28d98:bda086f 
                                [title] => A Syrian refugee in Scotland: 'I'm one of the lucky ones' video 
                                [published] => 1407218400000 
                                [crawled] => 1407220315278 
                                [alternate] => Array ( 
                                                [0] => Array ( 
                                                        [href] => href
                                                        [type] => text/html ) ) 
                                [author] => Produced by Claudine Spera and Ellie Violet Bramley 
                                [origin] => Array ( 
                                                [streamId] => streamId 
                                                [title] => Syria | The Guardian 
                                                [htmlUrl] => htmlUrl ) 
                                                [summary] => Array ( 
                                                                [direction] => ltr 
                                                                [content] => Ayman is one of about 3 million Syrian refugees living outside his homeland. After nine of his friends were killed in Damascus, Ayman used his student visa to flee to the UK, leaving his wife and twin boys behind. 'We didn't expect civil war in Syria, never, ever,' he says. But now, with the help of the Red Cross, the family are reunited and building a life in Edinburgh Continue reading... ) 
                                                [visual] => Array ( 
                                                                [url] => imagUrl
                                                                [height] => 252 
                                                                [width] => 600 
                                                                [contentType] => image/jpeg ) 
                                                [unread] => 1 
                                                [categories] => Array ( 
                                                                    [0] => Array ( 
                                                                                [id] => user/5312f2fe-1adc-476f-93da-8b1db5a63180/category/عربي 
                                                                                [label] => عربي ) ) 
                                                [engagement] => 4 [engagementRate] => 0.33 ) ) )

【问题讨论】:

    标签: php arrays multidimensional-array rss feedly


    【解决方案1】:

    如果数组中总是有相同的键,用这样的方法迭代应该相对容易:

    foreach($yourarray as $key1=>$item1){
      //dosomething
      if($key1=="alternate"){
         foreach($item1 as $key2=>$item2){
            //and so on
         }
      }
    
    }
    

    至于将其保存在数据库中,我承认这并不容易,而且我对数据库的经验也不多,但如果我是你,我会将它们保存在具有“1 到 n”引用的多个表中。

    【讨论】:

    • 首先我要感谢您的建议 :) 我试过了,它有效,但随着我的进步,我最终得到了 3 个或更多的 foreach。最后我还不得不检查键和值,因为我绝对不想存储所有内容,只存储 URL、标题、PulblishedDate、图像 URL 以及摘要之类的内容。但是,在循环中搜索这些值是不是有点费力?!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2021-06-09
    • 2021-04-05
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多