Türüne intval ve (int) arasında herhangi bir fark var mı?
Örnek:
$product_id = intval($_GET['pid']);
$product_id = (int) $_GET['pid'];
Kod Yukarıdaki iki çizgi arasındaki herhangi bir fark var mı?
intval()
passed a base dönüştürmek için hangi olabilir. (int)
Yapamam.
int intval( mixed $var [, int $base = 10 ] )
intval()
zaten int
s ve {[(4) şunlardır değişkenleri davranır: (int)
ve intval()
arasındaki fark hakkında Unutulmaması gereken bir şey ]} olursa olsun (5.3.5 en az PHP gibi) baz argüman, hiçbir dönüşüm ihtiyacı olarak var. comments on the PHP doc page kaydetti ve utanmadan buraya mükerrer olarak bu davranış, en belirgin değil:
$test_int = 12;
$test_string = "12";
$test_float = 12.8;
echo (int) $test_int; // 12
echo (int) $test_string; // 12
echo (int) $test_float; // 12
echo intval($test_int, 8); // 12 <-- WOAH!
echo intval($test_string, 8); // 10
echo intval($test_float, 8) // 12 <-- HUH?
Ben en az bir fark olduğunu düşünüyorum: intval, ikinci parametre (varsayılan olarak 10 tabanı) olarak kullanılması gereken baz belirtebilirsiniz ile:
var_dump((int)"0123", intval("0123"), intval("0123", 8));
alacak:
int 123
int 123
int 83
intval
Basit bir döküm taban dönüşüm değil yok o şey:
int intval ( mixed $var [, int $base = 10 ] )
Baz olsa 10 ise (eğer nitpicky olacak ve diğer değil iken bir işlev çağrısı yapan söz sürece), intval
bir döküm olarak aynı olmalıdır. Üzerinde belirtildiği gibi man page:
Tamsayı döküm ortak kurallar geçerlidir.