<?php
$defaults = [
'public' => 0,
'private' => 0,
'secret' => 0,
];
$db = [
'User1' => [
'public' => 1,
'private' => 1,
'secret' => 1,
],
'User2' => [
'public' => 1,
'private' => 0,
'secret' => 0,
],
'User3' => [
'public' => 0,
'private' => 1,
'secret' => 1,
],
];
$form = [
'User1' => [
'public' => 1,
'private' => 1,
],
'User2' => [
'public' => 1,
'secret' => 1,
],
'User3' => [
'private' => 1,
'secret' => 1,
],
];
$result = [];
foreach ($form as $user => $row) {
$new = array_replace($defaults, $row);
if ($db[$user] != $new) {
$result[$user] = $new;
}
}
var_export($result);
- Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- array (
'User1' =>
array (
'public' => 1,
'private' => 1,
'secret' => 0,
),
'User2' =>
array (
'public' => 1,
'private' => 0,
'secret' => 1,
),
)
preferences:
83.76 ms | 402 KiB | 62 Q