У меня есть два массива $a
и $b
, первый из которых представляет собой данные, используемые для заполнения формы, а другой - выходные данные формы, которые могут быть изменены пользователем. Мы не можем предположить, что все входы присутствуют в обоих массивах. Я хочу новый массив, который содержит только те входные данные, которые не NULL
и которые были изменены пользователем.
Таблица истинности для этого выглядит для меня как
isset($a) isset($b) output
N N NULL
N Y $b
Y N empty string
Y Y ($a != $b ? $b : NULL)
Пытаясь преобразовать это в PHP код, я вывел эту ужасную составную троичную вещь для каждого члена mem
массива (предположительно скалярного):
$changedData =
(isset($a[mem])
?
(isset($b[mem])
?
($a[mem] != $b[mem] ? $b[mem] : NULL)
:
'')
:
(isset($b[mem]) ? $b[mem] : NULL)
);
Там, безусловно, должно быть быть лучшим способом сделать это. Ваш совет будет с благодарностью.