PHP以更快的方式搜索值数组

时间:2015-08-11 23:47:31

标签: php arrays xml laravel

这只是一个简单的问题。我一直在寻找一种在数组中搜索价值的最快方法。这就是我一直在寻找的价值:

      $array_to_search =  (object) array("52688", "81902");//came from database

现在我有来自XML的大量数据。这是我从XML转换的数组。

      $array_to_search_in = Model::dataFromXMLconvertedintoArray();

当我打印这个数组时,结果是这样的:

Array
(
    [0] => Array
        (
            [product_id] => 52688
            [category] => Accessories & Promos
            [manufacturer] => Liberty Bags
            [manufacturer_sku] => 8881
        )
    [1] => Array
        (
             [product_id] => 52689
            [category] => Accessories & Promos
            [manufacturer] => Liberty Bags
            [manufacturer_sku] => 8881
        )
    [2] => Array
        (
             [product_id] => 52688
            [category] => Accessories & Promos
            [manufacturer] => Liberty Bags
            [manufacturer_sku] => 8881
        )
  And soon up to a hundreds data.. 

我的目标是"从$ array_to_search_in中选择全部,其中$ array_to_search中的product_id"

由于数据来自xml(API),因此加载速度非常慢。目前,我正在使用foreach和未设置的php函数来过滤巨大的数组并获得我想要的所选项目,但我认为foreach也是导致加载速度更慢的原因。

1 个答案:

答案 0 :(得分:0)

由于数组未排序,因此必须运行整个数组一次。您可以使用array_push()方法追加新数组而不是unset()。

稍作修改即可使用the array_keys() function (PHP Manual)