Exemple #1
0
 function testDeleteKeys()
 {
     $data = array("ciao" => "mondo", "hello" => "world", "abla" => "espanol");
     $keys = array("ciao" => "prova", "abla" => "altro");
     $result = ArrayUtils::delete_keys($data, $keys);
     $this->assertFalse(isset($result["ciao"]), "La chiave non e' stata rimossa con successo!!");
     $this->assertFalse(isset($result["abla"]), "La chiave non e' stata rimossa con successo!!");
     $this->assertTrue(isset($result["hello"]), "La chiave che non doveva esser rimossa e' stata rimossa!!");
     $this->assertEqual($result["hello"], "world", "Il valore rimasto non e' corretto!!");
     $this->assertEqual($data["ciao"], "mondo", "L'array originale e' stato modificato!!");
     $this->assertEqual($data["hello"], "world", "L'array originale e' stato modificato!!");
     $this->assertEqual($data["abla"], "espanol", "L'array originale e' stato modificato!!");
 }
 public function setupByParams($do)
 {
     $fields = $this->__getAllFields();
     $pk_fields = $this->__getPrimaryKeyFields();
     $params_list = array();
     //tolgo le chiavi primarie
     foreach (ArrayUtils::delete_keys($fields, $pk_fields) as $fkey => $attribs) {
         if (Params::is_set($fkey)) {
             $params_list[$fkey] = Params::get($fkey);
         }
     }
     foreach (Params::keys() as $k) {
         if (StringUtils::starts_with($k, self::CHECK_PREFIX)) {
             $field_to_check = substr($k, strlen(self::CHECK_PREFIX));
             if (Params::is_set($field_to_check)) {
                 $params_list[$field_to_check] = true;
             } else {
                 $params_list[$field_to_check] = false;
             }
         }
     }
     return $this->setupWithMap($do, $params_list);
 }