diff --git a/php/src_base/cl.php b/php/src_base/cl.php index 4d85ded..0eaab4d 100644 --- a/php/src_base/cl.php +++ b/php/src_base/cl.php @@ -48,6 +48,29 @@ class cl { return false; } + /** tester si $array a au moins une clé numérique */ + static final function have_num_keys(?array $array): bool { + if ($array === null) return false; + foreach ($array as $key => $value) { + if (is_int($key)) return true; + } + return false; + } + + /** + * tester si $array est une liste, c'est à dire un tableau avec uniquement des + * clés numériques séquentielles commençant à zéro + */ + static final function is_list(?array $array): bool { + if ($array === null) return false; + $index = -1; + foreach ($array as $key => $value) { + ++$index; + if ($key !== $index) return false; + } + return true; + } + /** * tester si $array contient la clé $key *