-2

したがって、別のテーブルに結合する必要がある情報を含む配列があり、それを form_lookup テーブルに結合する必要があるキーごとに、配列のキーを DB から取得したデータに置き換える必要があります。私の質問は、これを行うための最速かつ最良の方法は何ですか? 私はすでに form_information 配列を持っています

試み:

   $form_titles =array();       
    foreach (form_information[0] as $key => $value) {
     $this->db->select('NAME');
     $this->db->from('form_lookup');
     $this->db->where('CODE', $key );
    $query = $this->db->get();
    }

   $form_names  = $query->result_array();
   $form_titles[] = $campus_forms;

ここで、 form_informationのキーをform_titles配列のキーに置き換える必要があります。

$final_array = array_replace($form_information, $replacements);

form_information## (初期配列)

[0] => Array
            (
                [FIELD_1] => information
                [FIELD_2] => information
                [FIELD_3] => information
                [FIELD_4] => information
                [FIELD_5] => information
                ...
            ) 

テーブルフォーム_ルックアップ

CODE_ID | NAME
--------------
FIELD_1 | Name
--------------
FIELD_2 | ID
-------------
FIELD_3 | Contact
--------------
FIELD_4 | Lookup
-------------
FIELD_5 | Campus

(最終配列)

[0] => Array
                (
                    [Name] => information
                    [ID] => information
                    [Contact] => information
                    [Lookup] => information
                    [Campus] => information
                    ...
                ) 
4

4 に答える 4

1

これを試して。

foreach($form_titles as $i => $v){
  foreach($form_information as $q){
    $form_information[$i] = $q;
  }
}
于 2013-09-06T00:28:47.487 に答える
1

foreach()array_combine()を使用します。

// Source data simulation..
$one_item = array(
  "FIELD_1" => "information1",
  "FIELD_2" => "information2",
  "FIELD_3" => "information3",
  "FIELD_4" => "information4",
  "FIELD_5" => "information5"
);

$form_information[] = $one_item;
$form_information[] = $one_item;
$form_information[] = $one_item;
$form_information[] = $one_item;
$form_information[] = $one_item;

$keys = array(
  "FIELD_1" => "name",
  "FIELD_2" => "id",
  "FIELD_3" => "contact",
  "FIELD_4" => "lookup",
  "FIELD_5" => "campus"
);

// The important part.
foreach ($form_information as $array){
  $result[] = array_combine($keys, $array);
}

echo nl2br(print_r ($result, true));

..出力:

Array
(
[0] => Array
(
[name] => information1
[id] => information2
[contact] => information3
[lookup] => information4
[campus] => information5
)

[1] => Array
(
[name] => information1
[id] => information2
[contact] => information3
[lookup] => information4
[campus] => information5
)

...など

于 2013-09-06T00:21:10.880 に答える