0

次のような配列があります。

var localproducts = [packageId, categoryId, dataId];

each 関数を使用してこの配列を調べ、すべての dataIds を特定の packageID を持つすべてのアイテムの別の新しい配列に格納します。助けてくれてありがとう!

4

1 に答える 1

0

私が理解していることから、オブジェクト配列があるため、プロパティを持つオブジェクトをpackageId3 に保つ必要がありますarray_filter

コードは基本的に次のようになります。

function filter($var) {
  return $var->packageId == 3;
}

$filtered_values = array_filter($localProducts, filter);

次のようにフィルター関数を変更するだけで、1 つまたは複数の配列に対して同じことができます。

function filter($var) {
  return $var['packageId'] == 3;
}

ここで、値のみを含む新しい配列を作成する場合はdataId、単純なforeach.

var $dataIds = array();

foreach($localProducts as $prod) {
  if($prod->packageId == 3) {
    $dataIds[] = $prod->dataId;
  }
}
于 2013-01-15T12:51:21.303 に答える