Please note that the 'cast to array' check is horrendously out of date.
Running that code against PHP 5.6 results in this:
is_array : 0.93975400924683
cast, === : 1.2425191402435
So, please use 'is_array', not the horrible casting hack.(PHP 4, PHP 5, PHP 7, PHP 8)
is_array — Değişkenin bir dizi içerip içermediğine bakar
Belirtilen değişken bir dizi içeriyorsa true döner.
değişkenSınanacak değişken.
Örnek 1 - Değişken içeriğinin bir dizi olup olmadığının sınanması
<?php
$yes = array('bu', 'bir', 'dizidir');
echo is_array($yes) ? 'Dizi' : 'Dizi değil';
echo "\n";
$no = 'bu bir dizgedir';
echo is_array($no) ? 'Dizi' : 'Dizi değil';
?>Yukarıdaki örneğin çıktısı:
Dizi Dizi değil
Please note that the 'cast to array' check is horrendously out of date.
Running that code against PHP 5.6 results in this:
is_array : 0.93975400924683
cast, === : 1.2425191402435
So, please use 'is_array', not the horrible casting hack.Or you could make use of the array_diff_key and array_key function:
<?php
function is_assoc($var)
{
return is_array($var) && array_diff_key($var,array_keys(array_keys($var)));
}
function test($var)
{
echo is_assoc($var) ? "I'm an assoc array.\n" : "I'm not an assoc array.\n";
}
// an assoc array
$a = array("a"=>"aaa","b"=>1,"c"=>true);
test($a);
// an array
$b = array_values($a);
test($b);
// an object
$c = (object)$a;
test($c);