Add interface PlIteraface and the corresponding abstract class
[platal.git] / classes / pldict.php
index 6000ab3..b67095a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -80,7 +80,7 @@ class PlDict
     public function i($key, $default = 0)
     {
         $i = $this->_get($key, $default);
-        return ctype_digit($i) ? intval($i) : $default;
+        return (is_int($i) || ctype_digit($i)) ? intval($i) : $default;
     }
 
     public function l(array $keys)
@@ -92,6 +92,16 @@ class PlDict
     {
         return $this->array;
     }
+
+    public function count()
+    {
+        return count($this->array);
+    }
+
+    public function merge(array $array)
+    {
+        $this->array = array_merge($this->array, $array);
+    }
 }
 
 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: