PHP Variable Handling is_scalar() Function
The PHP Variable Handling is_scalar() function is used to check whether a value is scalar. A scalar is a simple value like a number, text or boolean. It includes arrays, objects, and other types like resources.
This function checks if a value is simple or complex. It returns true if the value is a scalar. It returns false if the value is not a scalar. It is useful for working with different types of data. It checks that the value is simple before using it.
Syntax
Below is the syntax of the PHP Variable Handling is_scalar() function −
bool is_scalar ( mixed $value )
Parameters
This function accepts $value parameter which is the variable to be evaluated.
Return Value
The is_scalar() function returns TRUE if the value is a number, string or boolean. And it returns FALSE if the value is an array, object, resource or NULL.
PHP Version
First introduced in core PHP 4.0.5, the is_scalar() function continues to function easily in PHP 5, PHP 7, and PHP 8.
Example 1
First we will show you the basic example of the PHP Variable Handling is_scalar() function to check if a number is scalar. As numbers are scalar values so the function will return true.
<?php
// A number
$value = 10;
if (is_scalar($value)) {
echo "The value is scalar.";
} else {
echo "The value is not scalar.";
}
?>
Output
Here is the outcome of the following code −
The value is scalar.
Example 2
In the below PHP code we will use the is_scalar() function and check different values like a string, a boolean and an array. Strings and booleans are scalar but arrays are not.
<?php
// Different data types
$values = [32, "Hello", true, [1, 2, 3]];
foreach ($values as $value) {
echo (is_scalar($value) ? "Scalar" : "Not Scalar") . " - " . var_export($value, true) . "
";
}
?>
Output
This will generate the below output −
Scalar - 32 Scalar - 'Hello' Scalar - true Not Scalar - array ( 0 => 1, 1 => 2, 2 => 3, )
Example 3
Now the below code uses the is_scalar() function to check variables in a user defined function. So we will use a function to check multiple values and display whether they are scalar or not.
<?php
function checkScalar($value) {
if (is_scalar($value)) {
echo "The value " . var_export($value, true) . " is scalar.\n";
} else {
echo "The value is not scalar.\n";
}
}
checkScalar(3.14);
checkScalar("PHP");
checkScalar(false);
checkScalar(NULL);
?>
Output
This will create the below output −
The value 3.14 is scalar. The value 'PHP' is scalar. The value false is scalar. The value is not scalar.
Example 4
In the following example, we are using the is_scalar() function to show how the function works with different kinds of values.
<?php
$a = "Tutorialspoint";
echo "a is ".( is_scalar($a)? 'scalar' : 'not scalar') . "\n";
$b = 0;
echo "b is ".( is_scalar($b)? 'scalar' : 'not scalar') . "\n";
$c = 40;
echo "c is ".( is_scalar($c)? 'scalar' : 'not scalar') . "\n";
$d = NULL;
echo "d is ".( is_scalar($d)? 'scalar' : 'not scalar') . "\n";
$e = array("a", "b", "c");
echo "e is ".( is_scalar($e)? 'scalar' : 'not scalar') . "\n";
$f = 3.1416;
echo "f is ".( is_scalar($f)? 'scalar' : 'not scalar') . "\n";
$g = new stdClass();
echo "g is ".( is_scalar($g)? 'scalar' : 'not scalar') . "\n";
?>
Output
Following is the output of the above code −
a is scalar b is scalar c is scalar d is not scalar e is not scalar f is scalar g is not scalar