配列を解析し、特定の値をチェックし、それらの値が存在する場合はそれらの値で新しい配列を作成し、それらをすべて一緒に array_push する関数を開始するのに助けが必要です。
私はこのような配列を通過しています:
Array
(
[0] => Array
(
[id] => 86
[34] => 695
[39] => 0
[40.1] => Yes
[36.1] => Yes
[35.4] => Card
[33.3] => Dekalb
[33.4] => Illinois
[33.5] => 60115
[33.6] => United States
[35.1] => 1143
[33.1] => 5555 Write Rd
[33.2] => Write School
[32.6] => John
[32.3] => Smith
[28] => jsmith@gmail.com
[27] => 5555556554
[25] => NIUSN
[14.3] => Jane
[14.6] => Doe
[11.2] => 695
[12] => 1
[11.1] => In-Person
[3] => 0
[2.2] => 595
[2.1] => Online
)
[1] => Array
(
...same stuff as before
)
parseArray
上記の配列を渡す関数を作成しました。すべてのキーと値の組み合わせを確認し、特定のキーが存在する場合は、それを変数に設定します。次に、適切な変数がすべて存在する場合は、それを配列に関連付けてから、最終的な配列 (すべての値が保持される場所) にプッシュします。
function parseArray($arry) {
$results = array();
$current_result = array();
foreach($arry as $a) {
foreach($a as $k => $v) {
if ( $k == '14.3' ) {
$attendee_first_name = $v;
}
if ( $k == '14.6' ) {
$attendee_last_name = $v;
}
if ( $attendee_first_name && $attendee_last_name ) {
$full_name = $attendee_first_name . ' ' . $attendee_last_name;
}
}
$current_result['attendee_name'] = $full_name;
}
array_push($results, $current_result);
return $results;
}
今私がやっている方法は、非常に手続き的で非常に扱いにくいものでした。配列をトラバースして値を割り当てるための、よりクリーンで美しいコードを生成する方法について、いくつかの洞察を得たいと思っています。
理想的には、次のような結果が欲しいです:
Array
(
[0] => Array
(
[attendees_name] = John Smith
[attendees_email] = jsmith@gmail.com
[purchasing_name] = Jane Doe
...etc
したがって、出力を foreach に渡すだけで、目的の情報を簡単に出力できます。