Сравните один массив с другим и замените пропущенные значения. Переполнение стека

У меня есть два массива:

$a1=array("Maths","English","Science","ICT");
$a2=array("Maths","ICT");

Я хочу сравнить $ a1 с $ a2, а затем вернуть

$a3=array("Maths",",,",",,","ICT");

Поэтому замените отсутствующие значения в $ a2 на «,,»

Это моя скудная попытка 🙁

$a1=array("Maths","English","Science","ICT");
$a2=array("Maths","ICT");
$result = array_diff($a1, $a2);
foreach ($result as $v){
$a3 = str_replace($v, ",,", $a1);
}
print_r($a3);

0

Решение

Рад, что вы поняли это, но я думаю, что это может работать лучше:

<?php

$a1 = array("Maths", "English", "Science", "ICT");
$a2 = array("Maths", "ICT");

$a3 = $a1;

$keys = array_keys(array_diff($a1, $a2));
foreach ($keys as $key)
$a3[$key] = ',,';

print_r($a3);

Выход:

Array
(
[0] => Maths
[1] => ,,
[2] => ,,
[3] => ICT
)
1

Другие решения

Разобрался, спасибо, если вы посмотрели:

$a1=array("Maths","English","Science","ICT");
$a2=array("Maths","ICT");

$result = array_diff($a1, $a2);

foreach ($result as $v){

$v = str_replace($result, ",,", $a1);

}
print_r($v);
0

По вопросам рекламы [email protected]