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); }