我有一个数组如下:存储从数组值到另一个数组
var localproducts = [packageId, categoryId, dataId];
我想通过这个数组的每个功能和所有的数据ID存储到有一个所有项目的另一个新数组某些packageID,即如果pacakgeId是3,比我想将dataId存储到一个新数组中。谢谢您的帮助!
我有一个数组如下:存储从数组值到另一个数组
var localproducts = [packageId, categoryId, dataId];
我想通过这个数组的每个功能和所有的数据ID存储到有一个所有项目的另一个新数组某些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;
}
}
但是如何返回packageIds为3的所有项目的dataids? – user1937021
@ user1937021它返回完整的对象,然后可以获取所需的'dataId'或任何其他信息。 – jaudette
对不起,但我怎样才能将结果的所有dataids保存在变量中?谢谢 – user1937021
如果你有一个这样的数组,那里只有一个'dataId'。你真的有这样的数组吗? 'var localproducts = [[packageId,categoryId,dataId],...];' –
它应该是一个对象数组,我认为它叫,也许不应该使用逗号,即需要一个packageIds,categoryIDs和dataIds列表。 – user1937021