рдХреНрдпрд╛ рдЖрдк PHP рдореЗрдВ lax рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ ("==") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ PHP рдореЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп, "==" рдСрдкрд░реЗрдЯрд░ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ [1] [2] (рднрд▓реЗ рд╣реА рджреЛрдиреЛрдВ рдСрдкрд░реЗрдВрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реЛрдВ ), рдкрд░рд┐рдгрд╛рдо рдХрднреА-рдХрднреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
<?php
var_dump('123' == '       123'); // true
var_dump('1e3' == '1000'); // true
var_dump('+74951112233' == '74951112233'); // true
var_dump('00000020' == '0000000000000000020'); // true
var_dump('0X1D' == '29E0'); // true
var_dump('0xafebac' == '11529132'); // true
var_dump('0xafebac' == '0XAFEBAC'); // true
var_dump('0xeb' == '+235e-0'); // true
var_dump('0.235' == '+.235'); // true
var_dump('0.2e-10' == '2.0E-11'); // true
var_dump('61529519452809720693702583126814' == '61529519452809720000000000000000'); // true  php < 5.4.4

. , in_array:
<?php
$_GET['fileId'] = '0X1D';
// ...
$privateFileIds = array('29E0');
if (in_array(@$_GET['fileId'], $privateFileIds))
{
	print 'Access deny';
	exit;
}

//  "Access deny", ..  "$strict"   "in_array"    "false"

:
//           
(string) $aaa === (string) $bbb;

//   "strcmp"
strcmp($aaa, $bbb) === 0;

//   "$strict"   "true"   
in_array((string) $aaa, $array, true);

.

UPD: v0s , "strcmp" "==" ( "===").


Source: https://habr.com/ru/post/In190440/


All Articles