我有一個數組如下:存儲從數組值到另一個數組
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