0

codeigniter にプロジェクトがありますが、関連性がありません。

(販売ゾーン、価格、モデル...) などの検索基準を使用して、多くの外部サーバー車内を検索する必要があります。

xml で応答する外部サーバーに xml でクエリを作成し、foreach プロバイダー (外部サーバー) のモデルを作成しました。

コントローラーに各モデルの検索基準を渡し、次のようにネストされた配列を返します。

$cars = array(
   'car' = array('id' => '', 'name' => '', 'year' => '', 'color' => ''...),
   'optional' = array('car_id' => '','key' => ''....),
   'variant' = array('car_id' => '','key' => ''....),
);

メイン配列には、多くのキーと値を持つ 3 つの配列が含まれています。各オプションは で車をcar_id参照し、各バリアントは で車を参照しcar_idます。
モデルごとにこの配列を返すと、作成した配列は次のように標準であるため、マージを行います。

$car_array = array();
$car_provider1 = $this->provider1->getCar();
$car_provider2 = $this->provider2->getCar();
array_merge_recursive($car_array, $car_provider1, $car_provider2);

これで、プロバイダーのすべての車に大きな配列標準ができました。検索基準に依存するため、内部に 3 つの配列を含む非常に大きな配列になる可能性があります。

私の質問は次のとおりです。私のような大きなネストされた配列 final を使用すると、メモリの問題や速度の低下が発生する可能性がありますか?

spl クラスを使用する方が良いですか? のようArrayIteratorなものですか?最終的な配列をコントローラーに渡す必要があり、その後、それをビューに渡す必要があるためです。バックボーンを使用してすべてを印刷するため、ページを印刷する前に各配列を json に変換します。

しかし、私の質問は次のとおりです。大きな配列をネストする方が良いですか、それともこのすべてのデータを管理するための spl クラスがありますか? (必要なのは、データを格納するためのコンテナーだけであり、その後 json に変換し、次のようなチェックを行います。同じ車を削除するか、不要なオプションをチェックまたは検索する必要があります)。

大きな配列は私の目標に適していますか?

4

1 に答える 1