我有一个数组如下:
var localproducts = [packageId, categoryId, dataId];
我想用 each 函数遍历这个数组,并将所有 dataId 存储到另一个新数组中,该数组包含具有特定 packageID 的所有项目,即如果 pacakgeId 为 3,而不是将 dataId 存储到新数组中。谢谢您的帮助!
据我了解,你有一个对象数组,所以你需要保持属性packageId
等于 3 的对象。你应该看看array_filter
.
代码基本上如下所示:
function filter($var) {
return $var->packageId == 3;
}
$filtered_values = array_filter($localProducts, filter);
您可以对一个或多个数组执行相同的操作,只需像这样更改过滤器功能:
function filter($var) {
return $var['packageId'] == 3;
}
现在,如果你想创建一个只有值的新数组,dataId
应该使用简单的foreach
.
var $dataIds = array();
foreach($localProducts as $prod) {
if($prod->packageId == 3) {
$dataIds[] = $prod->dataId;
}
}