以下のような連想配列 (name = $holidays) があります。各キーは、値を指している場合と指していない場合があります。キーが値を指す場合、その値は以下に示す配列です。(キー [4] は、キー => 値のペア [オーバーライド] => 1 を持つ配列を指します)
Array
(
[1] =>
[2] =>
[3] =>
[4] => Array
(
[override] => 1
)
[5] =>
[6] =>
[7] =>
)
以下のような別の 2D 連想配列 (name = $days) があります。
Array
(
[0] => Array
(
[a] => 1
[b] => 20120903
[c] => 1
[d] => Mon
[e] => 3
[f] => September
[g] => Sep
[h] => 9
[i] => 1
[j] => 1
)
[1] => Array
(
[a] => 2
[b] => 20120904
[c] => 1
[d] => Tue
[e] => 4
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[2] => Array
(
[a] => 3
[b] => 20120905
[c] => 1
[d] => Wed
[e] => 5
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[3] => Array
(
[a] => 4
[b] => 20120906
[c] => 1
[d] => Thu
[e] => 6
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[4] => Array
(
[a] => 5
[b] => 20120907
[c] => 1
[d] => Fri
[e] => 7
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[5] => Array
(
[a] => 6
[b] => 20120908
[c] => 1
[d] => Sat
[e] => 8
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[6] => Array
(
[a] => 7
[b] => 20120909
[c] => 1
[d] => Sun
[e] => 9
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
)
基本的に、次のように 2 つの配列を比較する必要があります: $holidays 配列の最初のキーを取得し ($val1 と名付けます)
、$days 配列に移動し、最初のサブ配列にアクセスして、値を取得します。そのサブ配列のキー [a] (名前を $val2 にします)、次にチェックします
($val1 と $val2) が同じ
かどうか、および配列 $holiday のキーが値を保持しているかどうか (上で述べたように、$holiday 配列のキーは値を指していない可能性があります)、
これらの条件が両方とも true の場合
、新しい key=>value ペアを $days 配列の関連するサブ配列に追加します。
次に、配列の次の要素に移動します。
したがって、上記の2つの配列が与えられた場合、以下の配列が返されるようにします。
Array
(
[0] => Array
(
[a] => 1346610600
[b] => 20120903
[c] => 1
[d] => Mon
[e] => 3
[f] => September
[g] => Sep
[h] => 9
[i] => 1
[j] => 1
)
[1] => Array
(
[a] => 1346697000
[b] => 20120904
[c] => 1
[d] => Tue
[e] => 4
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[2] => Array
(
[a] => 1346783400
[b] => 20120905
[c] => 1
[d] => Wed
[e] => 5
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[3] => Array
(
[a] => 1346869800
[b] => 20120906
[c] => 1
[d] => Thu
[e] => 6
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
[k] => 1 <<---------------- This is the new key value pair
)
[4] => Array
(
[a] => 1346956200
[b] => 20120907
[c] => 1
[d] => Fri
[e] => 7
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[5] => Array
(
[a] => 1347042600
[b] => 20120908
[c] => 1
[d] => Sat
[e] => 8
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
[6] => Array
(
[a] => 1347129000
[b] => 20120909
[c] => 1
[d] => Sun
[e] => 9
[f] => September
[g] => Sep
[h] => 9
[i] =>
[j] =>
)
)
それが明確であることを願っています。誰でも助けることができますか?前もって感謝します。