В PHP можете да въвеждате нещо като обект като този; (обект) или можете да използвате settype ($ var, "object") - но въпросът ми е каква е разликата между двете?
Кое е по-ефективно / по-добре да се използва? В момента намирам, че използвам (обект), върши работата, но се чудех защо има и функция settype.
Отговори:
17 за отговор № 1Кастингът променя какво се обработва в променливата в текущия контекст, като го променя постоянно.
$value = "100"; //Value is a string
echo 5 + (int)$value; //Value is treated like an integer for this line
settype($value,"int"); //Value is now an integer
Основно settype е пряк път за:
$value = (type)$value;
4 за отговор № 2
settype()
променя действителната променлива, която е била предавана, а отклонението не е.
Ако използвате settype
за $var
за да го промените на цялото число, тя ще загуби трайно десетичната част:
$var = 1.2;
settype($var, "integer");
echo $var; // prints 1, because $var is now an integer, not a float
Ако просто направите гласове, първоначалната променлива е непроменена.
$var = 1.2;
$var2 = (integer) $var;
echo $var; // prints 1.2, because $var didn"t change type and is still a float
echo $var2; // prints 1