-2

ここにデータがあります:

これが最初の関数の結果です。結果に使用した変数は $this->arrays です。

Array
(
[1] => Array //Transactiondetails of SiteID 1
    (
        [SiteID] => 1
        [Balance] => 2000
        [MinBalance] => 1000
        [MaxBalance] => 500
        [OwnerAID] => 1
        [GroupID] => 1
        [Deposit] => 10000
        [Reload] => 0
        [Redemption] => 0
    )
  )

これが 2 番目の関数の結果です。結果に使用した変数は $this->combined です。

Array
(
[0] => Array
    (
        [AID] => 1
        [Sites] => Array
            (
                [0] => 1 //List of SiteID owned by AID                   
                [1] => 5
            )
    )

[1] => Array
    (
        [AID] => 3
        [Sites] => Array
            (
                [0] => 4 //SiteID
            )
    )

[2] => Array
    (
        [AID] => 4
        [Sites] => Array
            (
                [0] => 1 //SiteID
            )
    )

 )

私はこのコードでそれを試します:

 public function createListOfCorpOwnedSites()
 {

 foreach ($this->combined as &$site) {

            $aids = array();

            foreach ($this->result_array as $acct) {
              if ($acct['SiteID'] === $site['SiteID'])
                $aids[] = $acct['AID'];
              }
              $site['CorpAID'] = $aids;
            }

            print_r($this->combined );

            }

しかし、もっと良い結果が必要です。最初の結果は、複数の AID が所有する SiteID のリストを指す CorpAID のキーを追加する必要があります。

結果は次のようになります。

 Array([0]=> Array(
        [SiteID] => 1
        [Balance] => 2000
        [MinBalance] => 1000
        [MaxBalance] => 500
        [OwnerAID] => 1
        [GroupID] => 1
        [Deposit] => 10000
        [Reload] => 0
        [Redemption] => 0
        [CorpAID] => Array(
                      [0] => 1
                      [1] => 4 
    )

それを作ることは可能ですか?適切な方法で私を導いてください、私はあなたの懸念に感謝し、事前に感謝します.

4

1 に答える 1

0

現時点では、ID を子として設定しています。識別を容易にするために、これらの一意の ID をキーで使用することをお勧めします。

から

[1] => Array (
  [SiteID] => 1
  ...
)

[1] => Array ( // SiteID
  ...
)

そして、2 番目の関数 ($this->combined) の結果を変更します。

から

[0] => Array (
  [AID] => 1
  ...
)

[1]=> Array ( // AID ID
  ...
)

これは後で必要になります

foreach($this->combined as $aid) {
  $aidID = key($aid);
  foreach($aid as $siteID) {
    $this->arrays[$siteID]['CorpAID'][] = $aidID;
  }
}
于 2012-08-21T12:28:38.370 に答える