Loading...
Лара (24 июля 2023, в 16:03)
Я тебе говорила, айпи может быть не в remote_addr)
ip ТОЛЬКО в $_SERVER['REMOTE_ADDR']
SNEG (24 июля 2023, в 14:15)
Нашёл функции такого плана
php
function get_client_ip ()
{
$ip = '';
if(!empty($_SERVER['REMOTE_ADDR']))
$ip .= $_SERVER['REMOTE_ADDR'];
else
$ip .= 'n/a';
return $ip;
}

function get_client_ip ()
{
$ip = '';
if(isset($_SERVER['REMOTE_ADDR']))
$ip .= $_SERVER['REMOTE_ADDR'];
else
$ip .= 'n/a';
return $ip;
}


Почему ip проверяют некоторые на пустоту а некоторые на существование, ведь у каждого есть ip разве они могут быть пустые или не существовать , для чего это делается?
empty проверит на пустоту

isset проверит ТОЛЬКО на тождественно null
________
посл. ред. 26.07.2023 в 19:06; всего 1 раз(а); by Вилы Выкидные
SNEG , вообще isset не очень корректная при работе с массивами, если значение ключа null (а значение ключей может быть null), то она вернёт false, нужно проверять array_key_exists, иначе isset некорректно сообщит нам, что ключа - нет, просто его значение null, ключ есть :)

php
$a = ['a' => null];

var_dump(isset($a['a'])); // bool(false)

var_dump(array_key_exists('a', $a)); // bool(true)

________
посл. ред. 26.07.2023 в 19:24; всего 2 раз(а); by Вилы Выкидные
Онлайн: 5
Время:
Gen. 0.0731
(c) Bym.Guru 2010-2025