Почему array_diff не выводит разницу не полностью?
100 000 тг. есть в первом массиве трижды и во втором дважды, так что array_diff, который сравнивает array1 с одним или несколькими другими массивами и возвращает значения из array1, которые отсутствуют во всех других массивах, делает всё верно.
Опишите свою задачу нормально, чтобы вам можно было порекомендовать какой-то подходящий инструмент.
Если вы показали сами массивы $a и $b, то в массиве $b есть элемент "100 000 тг.".
Ну или покажите содержимое массивов через print_r()