私は適切な予約時間の配列と、日付ごとにすでに予約された配列を含む別の多次元配列を持っています。私は、各日付を繰り返し、最初の配列から自由に予約できる時間を含む日付ごとに、別の別の多次元配列を作成したいと思います。PHP多次元配列はインデックス配列に対して値を比較して削除します
$times = array("9:00", "10:00", "11:00", "12:00", "13:00");
$dates = array(
"28/07/2018" => array("10:00", "11:00"),
"29/07/2018" => array("10:00", "13:00"),
"30/07/2018" => array("11:00", "13:00"));
// function to remove duplicates
function myArrayDiff($array1, $array2) {
// loop through each item on the first array
foreach ($array1 as $key => $row) {
// loop through array 2 and compare
foreach ($array2 as $key2) {
if ($row['id'] == $key2) {
// if we found a match unset and break out of the loop
unset($array2[$key2]);
break;
}
}
}
return array_values($array2);
}
$array3 = myArrayDiff($dates, $times);
print_r($array3);
問題があり、助けが必要なのは何ですか?あなたの質問からはっきりと分かりません。 – FluffyKitten
インデントされたコードブロックがある場合、バッククォート( '\' ')で囲む必要はありません。実際には、コードブロックにバッククォートが含まれていて、簡単に構文の強調表示を駄目にすることがあります。 – Chris