• Handling data using array_map() and in_array() methods:
$instructions = [
['id' => 131],
['id' => 132],
['id' => 133],
];
$instruction_ids = [
['id' => 169, 'instruction_id' => 131],
];
$idsToRemove = array_map(function ($item) {
return $item['instruction_id'];
}, $instruction_ids);
$updatedInstructions = [];
foreach ($instructions as $instruction) {
if (!in_array($instruction['id'], $idsToRemove)) {
$updatedInstructions[] = $instruction;
}
}
print_r($updatedInstructions);
• Handling data using array_filter() and array_column() methods:
$instructions = [
['id' => 131],
['id' => 132],
['id' => 133],
];
$instruction_ids = [
['id' => 169, 'instruction_id' => 131],
];
$idsToRemove = array_column($instruction_ids, 'instruction_id');
$updatedInstructions = array_filter($instructions, function ($instruction) use ($idsToRemove) {
return !in_array($instruction['id'], $idsToRemove);
});
$updatedInstructions = array_values($updatedInstructions);
print_r($updatedInstructions);
• Handling data using array_map(), array_udiff() and array_values() methods:
$instructions = [
['id' => 131],
['id' => 132],
['id' => 133],
];
$instruction_ids = [
['id' => 169, 'instruction_id' => 131],
];
// Extract the instruction_id values from instruction_ids
$idsToRemove = array_map(function ($item) {
return $item['instruction_id'];
}, $instruction_ids);
// Define a custom comparison function for array_udiff
function customComparison($a, $b) {
return $a['id'] - $b;
}
// Use array_udiff to filter out objects with matching instruction_id values
$updatedInstructions = array_udiff($instructions, $idsToRemove, 'customComparison');
// Reindex the array if needed (optional)
$updatedInstructions = array_values($updatedInstructions);
print_r($updatedInstructions);