0

私は引用habtm応募者との関係を持っています. 一度に複数の応募者で保存する見積もりを取得しようとしています。必要な応募者の配列を既に持っていますが、引用配列に挿入するときにその配列をフォーマットして保存する方法がわかりません。申請者の配列は次のようになります。

 array(
(int) 0 => array(
    'Applicant' => array(
        'id' => '436',
        'clientcase_id' => '66',
        'archive_id' => '1',
        'birthdate' => '2013-09-21 01:41:00',
        'title' => '',
        'first_name' => 'george',
        'middle_name' => 'a',
        'surname' => 'summerlane',
        'email' => 'email@q.com',
        'landline_number' => '88465120.',
        'mobile_number' => '',
        'applicant_type' => '',
        'created' => '2013-09-21 01:43:10',
        'modified' => '2013-09-21 01:43:10'
    )
),
(int) 1 => array(
    'Applicant' => array(
        'id' => '435',
        'clientcase_id' => '66',
        'archive_id' => '1',
        'birthdate' => '2013-09-21 01:41:00',
        'title' => '',
        'first_name' => 'mary',
        'middle_name' => 's',
        'surname' => 'amnn',
        'email' => 'some@this.cin',
        'landline_number' => '465132',
        'mobile_number' => '',
        'applicant_type' => '',
        'created' => '2013-09-21 01:41:48',
        'modified' => '2013-09-21 01:41:48'
    )
),
(int) 2 => array(
    'Applicant' => array(
        'id' => '66',
        'clientcase_id' => '66',
        'archive_id' => '1',
        'birthdate' => null,
        'title' => null,
        'first_name' => 'Tania',
        'middle_name' => '',
        'surname' => 'Humphreys',
        'email' => 'purple67@me.com',
        'landline_number' => null,
        'mobile_number' => '0438854355',
        'applicant_type' => 'Main applicant',
        'created' => '2012-10-29 00:00:00',
        'modified' => '2012-10-21 00:00:00'
    )
)

)

次のようなものが必要です。

array(
'Applicants' => array(
    'id' => 435,
    'id' => 436,
    'id' => 66
)

)

どうすればこれを行うことができますか?それとももっと良い方法がありますか?

見積もりを保存すると、配列は次のようになります。

array(
'QuoteButton' => 'Submit',
'Quote' => array(
    'date' => array(
        'day' => '13',
        'month' => '10',
        'year' => '2013'
    ),
    'description' => '',
    'quote_accepted' => '0',
    'research_accepted' => '0',
    'cc_accepted' => '0',
    'pesel_accepted' => '0',
    'setfees_accepted' => '0',
    'total' => '0'
),
'Applicant' => array(
    'id' => '66'
),

複数の応募者を配列に挿入するにはどうすればよいですか?

4

2 に答える 2

0

配列に同じ を含めることはできませんが、次のidように別の配列を作成できます。

$datas = array(
(int) 0 => array(
    'Applicant' => array(
        'id' => '436',
        'clientcase_id' => '66',
        'archive_id' => '1',
        'birthdate' => '2013-09-21 01:41:00',
        'title' => '',
        'first_name' => 'george',
        'middle_name' => 'a',
        'surname' => 'summerlane',
        'email' => 'email@q.com',
        'landline_number' => '88465120.',
        'mobile_number' => '',
        'applicant_type' => '',
        'created' => '2013-09-21 01:43:10',
        'modified' => '2013-09-21 01:43:10'
    )
),
(int) 1 => array(
    'Applicant' => array(
        'id' => '435',
        'clientcase_id' => '66',
        'archive_id' => '1',
        'birthdate' => '2013-09-21 01:41:00',
        'title' => '',
        'first_name' => 'mary',
        'middle_name' => 's',
        'surname' => 'amnn',
        'email' => 'some@this.cin',
        'landline_number' => '465132',
        'mobile_number' => '',
        'applicant_type' => '',
        'created' => '2013-09-21 01:41:48',
        'modified' => '2013-09-21 01:41:48'
    )
),
(int) 2 => array(
    'Applicant' => array(
        'id' => '66',
        'clientcase_id' => '66',
        'archive_id' => '1',
        'birthdate' => null,
        'title' => null,
        'first_name' => 'Tania',
        'middle_name' => '',
        'surname' => 'Humphreys',
        'email' => 'purple67@me.com',
        'landline_number' => null,
        'mobile_number' => '0438854355',
        'applicant_type' => 'Main applicant',
        'created' => '2012-10-29 00:00:00',
        'modified' => '2012-10-21 00:00:00'
    )
)

);

$ids = array();
foreach($datas as $data => $applicants) {
    $ids[] = $applicants['Applicant']['id'];
}

print_r($ids);

出力:

Array ( [0] => 436 [1] => 435 [2] => 66 ) 

の使い方はids?このような:

foreach($ids as $key => $id) {
   // do whatever you want with the applicant id
}
于 2013-10-13T01:48:00.257 に答える
0

tttony が指摘したように、配列インデックスは一意である必要があるため、次のようにします。

$ids = array();
foreach($array as $applicant)
  $ids[$applicant['Applicant']['id']] = null;

出力は次のとおりです。

Array
(
  [436] => 
  [435] => 
  [66] => 
)

id が $ids 配列のキーになりました...null ではなく値として他の何かを追加できます

于 2013-10-13T02:41:00.103 に答える