Data Types
PHP sports a cool feature called automatic data typing. A PHP developer
can claim variables and use them in most common situations without
having to claim the data type that the variable is. But this is also a
double edged sword because as a developer gets more advanced they may
create functions or scripts that only accept one data type, and throw
errors if you feed it a different type. But that is usually only in the
most complex of PHP applications.
For instance, if my imported script and function is expecting an integer type variable and I feed it a string type, I will get an error and know that I must not try to feed it a string... it needs an integer type variable. No big deal, I will just make sure a number type variable is all that gets sent through that mechanism.
Here are the data types:
Boolean, Integer, Floating Point Number, String, Array, Object, Resource, Null
<?php
// Boolean... true or false data types
$userChoice = true;
// Integer.... whole numbers
$num1 = 3;
// Floating Point Numbers
$num2 = 8.357
// String... a set of alphanumeric characters
$string1 = "Hello World, I just turned 21!";
// Array... we cover building arrays in later lessons
$my_friend_array = array(1 => 'Joe', 2 => 'Adam', 3 => 'Brian', 4 => 'Susan', 5 => 'Amy', 6 => '0', 7 => 'Bob');
// Object...
// Objects work with classes, which we will cover later
// Resource...
// A special variable, holding a reference to an external resource.
// Resources are created and used by special functions.
// Null... value for missing, empty, or unset variables. If null... it has no value and is not set.
$var1 = NULL; // Casting a variable to null will remove the variable and unset its value
?>PHP has functions to test whether or not a variable is a certain "type". This is known as the is_* function family.
<?php
// set the variable and its value
$myVar = "Adam Khoury";
// Run simple if and else statement to see if it is a string or not
if (is_string($myVar)) {
echo echo "Yes";
} else {
echo } else {
echo "No";
}
}
?>Yes
Changing Data Types
PHP has loose data typing. Because of this, changing a variable's
data type is not a commonly used mechanism in PHP due to the fact that
PHP will automatically cast your variable types when your script changes
to use the variable as a different type and in a different way.
As illustrated in this sample code:

But let's say we have created a form. And in that form we want to know how many gigabytes our client's hard drive is. In entering the value they placed the size number and bytes characters like this "250gb", but we just wanted the number. If we try to then output or store just the number our plans are foiled because the client put the "gb" characters in there. Illustrated in this sample code:

Use the settype() function to change data types

Use Type Casting to change data types

As illustrated in this sample code:
<?php
$var1 = "18 years old";
$var2 = "14 years old";
// Since PHP knows that it cannot add two strings mathematically it automatically
// removes the string parts of the variables and proceeds to do the math correctly
$sumOfBoth = $var1 + $var2;
// Very interesting that we get such a result and not an error
echo $sumOfBoth;
?>
32
But let's say we have created a form. And in that form we want to know how many gigabytes our client's hard drive is. In entering the value they placed the size number and bytes characters like this "250gb", but we just wanted the number. If we try to then output or store just the number our plans are foiled because the client put the "gb" characters in there. Illustrated in this sample code:
<?php
// Let's say this is the value we wind up with from the form input
$var1 = "250gb";
echo "You stated that your Hard Drive size capacity is " . $var1 . " Gigabytes";
?>
You stated that your Hard Drive size capacity is 250gb Gigabytes
Use the settype() function to change data types
<?php
// Same variable and value
$var1 = "250gb";
// This time use settype() and claim integer as the data type
settype($var1, 'integer');
echo "You stated that your Hard Drive size capacity is " . $var1 . " Gigabytes";
?>
You stated that your Hard Drive size capacity is 250 Gigabytes
Use Type Casting to change data types
<?php
// Same variable and value
$var1 = "250gb";
// This time use type casting and claim integer as the data type
$var1 = (integer) $var1;
echo "You stated that your Hard Drive size capacity is " . $var1 . " Gigabytes";
?>
You stated that your Hard Drive size capacity is 250 Gigabytes
0 comments:
Post a Comment