define('NOT_SET_PARAM', 'not_set_param');
$page = array_key_exists('page', $_GET) ? $_GET["page"] : NOT_SET_PARAM;
Есть три ячейки: A, B, C. При нажатии кнопки в А всегда будет X, в B всегда будет 1/Х(значение, обратное иксу), в C всегда будет случайное значение (или X, или 1/X).
Вероятность того, что одно из трех значений будет представлять ячейку C равна 33.3%.
Вероятность того, что одно из двух значений будет представлять ячейку C равна 50%.
Вероятность того, что ячейка C будет иметь значение x равна 33% (или C будет иметь значение 1/x равна 67% ).
$json = json_decode(file_get_contents('test.json'), true); //Читаю файл так
$json['age'] = intval($json['age']);
----------
file_put_contents('test.json', json_encode($json, JSON_UNESCAPED_UNICODE)); //Пишу файл так
{ "name": "Вася", "age": 35}
Просто я часто исправлял код в проблемных местах, где появлялся notice.
Не добавлял условие через isset(), помочу что аргумент этой функции визуально не обозначает, что параметр будет браться по ссылке, и ничего страшного не произойдет в логах. А вот с array_key_exists - все предельно понятно, есть два отдельных параметра, и вряд ли что-то будет браться по значению.
В принципе, ничего критичного с использованием array_key_exists вместо isset для приема параметров нет.