Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Variable Handling Functions : is_string

is_string

Find whether the type of a variable is string (PHP 4, PHP 5)
bool is_string ( mixed var )

Finds whether the type given variable is string.

Parameters

var

The variable being evaluated.

Return Values

Returns TRUE if var is of type string, FALSE otherwise.

Examples

Example 2595. is_string() example

<?php
if (is_string("23")) {
echo
"is string\n";
} else {
echo
"is not an string\n";
}
var_dump(is_string('abc'));
var_dump(is_string("23"));
var_dump(is_string(23.5));
var_dump(is_string(true));
?>

The above example will output:

is string
bool(true)
bool(true)
bool(false)
bool(false)


Related Examples ( Source code ) » is_string




Code Examples / Notes » is_string

dainix zsigmond

To php dot net at oui dot jp:

It's going to return a string if the variable's value is encased around quotes or apostrophes, period.  Be it a '0' or a '1', it's a string all around.  The index in an array is a little bit of a different story.
Sample coding is below:
<?php
$ar = array('this is a string.', '38', '038', 0382, 3892.283);
$ar2 = array('S1' => 'string.', 'S2' => 'a string.', '3' => 3827, '3.82.' => '2222', '-1' => 'foo');
foreach($ar as $num => $string)
{
if (is_string($string)) { echo 'Yes. <br />'; } else { echo 'No. <br />'; }
}
print_r($ar);
foreach($ar2 as $num => $string)
{
if (is_string($num)) { echo 'Yes. <br />'; } else { echo 'No. <br />'; }
}
print_r($ar2);
?>
The first foreach contains a simple if/then statement that checks if the array value is a string or not, which works correctly (Yes, Yes, Yes, No, No).  The second checks if the index identifier is a string.  It returns Yes, Yes, No, and Yes.

Printing the array: Array ( [S1] => string. [S2] => a string. [3] => 3827 [3.82] => 2222 [-1] => foo)
The index identifier will be marked as a string if the identifier is not an integer above zero.


tobias_demuth

Returns true, if the string is empty, too.

yarco dot w

re: php dot net at oui dot jp
<?php
$a = array('0' => 'zero'); // '0'
// is different from
$b = '0'; // '0'
?>
Because when you use array, it will automatically change the key to integer if it could.
So, it output:
>php -r "print var_dump(array_keys(array('0' => '
zero', '1' => 'one')));"
array(2) {
 [0]=>
 int(0)
 [1]=>
 int(1)
}
They are int type, not string.


djhook

function is_upper($input) {
   return ($input == strtoupper($input));
}
function is_lower($input) {
   return ($input == strtolower($input));
}
this functions check if a string is all upper/lower case.
input:   string
output: true/false


slicky

Be aware that this function could result into unwanted results if you check single chars in an array.
For instance:
You have a simple string and want to repeat this string evertime it ends.


for ($i=0; $i < strlen($string);$i++){
if(!is_string($key[$x]))
$x = 0;
               echo $key[$x];
$x++;
}
This will print you out the key, but won't iterate it since $x won't be reset. is_string function will give out true at element in that string, even if it doesn't exist. for instance is_string $key[1000] while your string is just 10chars long.
However this doesn't matter just use $key[$x] == '' instead.
Of course you won't use this to iterate a string, but you might come across something where this get useful, for instance for a en/decrypt engine.


php dot net

<?php
       // Interesting...
       $arr  = array ('abc','def','ghi');
       $aarr = array ('0' => 'abc','1' => 'def','2' => 'ghi');
       foreach ($arr as $u => $v)
         print is_string($u) ? "Yes\n":"no\n"; // no: ok, index is numeric (0, 1, 2)
       foreach ($aarr as $u => $v)
         print is_string($u) ? "Yes\n":"no\n"; // still no! was expecting Yes!
       if (is_string ('0')) print "'0' is a string\n"; // ...as '0' is a string!
?>


Change Language


Follow Navioo On Twitter
debug_zval_dump
doubleval
empty
floatval
get_defined_vars
get_resource_type
gettype
import_request_variables
intval
is_array
is_binary
is_bool
is_buffer
is_callable
is_double
is_float
is_int
is_integer
is_long
is_null
is_numeric
is_object
is_real
is_resource
is_scalar
is_string
is_unicode
isset
print_r
serialize
settype
strval
unserialize
unset
var_dump
var_export
eXTReMe Tracker