모든 활동 목록의 배열과 아직 수행되지 않은 모든 활동 목록을 생성하는 모든 완료된 활동 목록 간의 차이점을 찾으려고합니다.다차원 배열 Diff 재귀가 PHP에서 작동하지 않습니다.
여기이 두 배열에 대한 내 PHP 코드입니다 : 내가 recursive array_diff()? 같은 여러 소스에서 제공하는 배열을 재귀 적 차이에 대한 사용자 지정 기능을 사용하고
$sql=" SELECT * FROM milestone
WHERE month BETWEEN '$age' - 3 AND '$age' + 3
ORDER BY month";
$result=mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
$allMilestone[] = $row;
}
$sql=" SELECT milestone.* FROM `milestone`
LEFT JOIN `milestone_transaction`
ON milestone.stone_id = milestone_transaction.stone_id
WHERE milestone_transaction.registration_no = 1111;";
$result=mysqli_query($conn, $sql);
while ($row = mysqli_fetch_array($result)) {
$checkedMilestone[] = $row;
}
하지만 내 경우에 작동하지 않습니다.
나는이 또한 allMilestone, checkedMilestone & 목록 출력을 인 print_r :
$allMilestone: Array ([0] => Array ([0] => fm1 [stone_id] => fm1 [1] => 3 [month] => 3 [2] => Follow past midline [criteria] => Follow past midline) [1] => Array ([0] => fm2 [stone_id] => fm2 [1] => 3 [month] => 3 [2] => Sit look for yarn [criteria] => Sit look for yarn) [2] => Array ([0] => gm1 [stone_id] => gm1 [1] => 3 [month] => 3 [2] => Prone lifts head [criteria] => Prone lifts head) [3] => Array ([0] => gm2 [stone_id] => gm2 [1] => 3 [month] => 3 [2] => Sit head steady [criteria] => Sit head steady) [4] => Array ([0] => hl1 [stone_id] => hl1 [1] => 3 [month] => 3 [2] => Vocalises, not cry [criteria] => Vocalises, not cry) [5] => Array ([0] => hl2 [stone_id] => hl2 [1] => 3 [month] => 3 [2] => Laughs [criteria] => Laughs) [6] => Array ([0] => ps1 [stone_id] => ps1 [1] => 3 [month] => 3 [2] => Smile responsively [criteria] => Smile responsively) [7] => Array ([0] => ps2 [stone_id] => ps2 [1] => 3 [month] => 3 [2] => Resists toy pull [criteria] => Resists toy pull))
$checkedMilestone: Array ([0] => Array ([0] => hl1 [stone_id] => hl1 [1] => 3 [month] => 3 [2] => Vocalises, not cry [criteria] => Vocalises, not cry) [1] => Array ([0] => ps1 [stone_id] => ps1 [1] => 3 [month] => 3 [2] => Smile responsively [criteria] => Smile responsively))
the difference array: Array ([0] => Array ([0] => fm1 [stone_id] => fm1 [2] => Follow past midline [criteria] => Follow past midline) [1] => Array ([0] => fm2 [stone_id] => fm2 [2] => Sit look for yarn [criteria] => Sit look for yarn) [2] => Array ([0] => gm1 [stone_id] => gm1 [1] => 3 [month] => 3 [2] => Prone lifts head [criteria] => Prone lifts head) [3] => Array ([0] => gm2 [stone_id] => gm2 [1] => 3 [month] => 3 [2] => Sit head steady [criteria] => Sit head steady) [4] => Array ([0] => hl1 [stone_id] => hl1 [1] => 3 [month] => 3 [2] => Vocalises, not cry [criteria] => Vocalises, not cry) [5] => Array ([0] => hl2 [stone_id] => hl2 [1] => 3 [month] => 3 [2] => Laughs [criteria] => Laughs) [6] => Array ([0] => ps1 [stone_id] => ps1 [1] => 3 [month] => 3 [2] => Smile responsively [criteria] => Smile responsively) [7] => Array ([0] => ps2 [stone_id] => ps2 [1] => 3 [month] => 3 [2] => Resists toy pull [criteria] => Resists toy pull))
당신은 내가 잘못 어디로 갔는지 사람들이 사용자 정의 함수가 그들을 위해 제대로 작동하는지 말했듯이, 지정하여 나를 도울 수 있습니다.
하나의 mysql 쿼리를 사용하여이 문제를 해결하고 싶었지만 올바른 논리를 찾을 수 없습니다. 그러나 당신의 길은 제가 원하는 것을 할 수있게 해줍니다. 도와 줘서 고마워! –