这只是一个简单的问题。我一直在寻找一种在数组中搜索价值的最快方法。这就是我一直在寻找的价值:
$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也是导致加载速度更慢的原因。
答案 0 :(得分:0)
由于数组未排序,因此必须运行整个数组一次。您可以使用array_push()方法追加新数组而不是unset()。