Esempio n. 1
0
 public static function palindrome($input)
 {
     $reflector = new ReflectionClass(__CLASS__);
     $parameters = $reflector->getMethod(__FUNCTION__)->getParameters();
     $args = [];
     foreach ($parameters as $parameter) {
         $args[$parameter->name] = ${$parameter->name};
     }
     log_util::logFunctionStart($args);
     $inputStripped = str_replace(" ", "", $input);
     $intPointer1 = 0;
     $intPointer2 = strlen($inputStripped) - 1;
     log_util::log(LOG_LEVEL_DEBUG, "inputStripped: " . $inputStripped);
     log_util::log(LOG_LEVEL_DEBUG, "intPointer1: " . $intPointer1);
     log_util::log(LOG_LEVEL_DEBUG, "intPointer2: " . $intPointer2);
     $isPalindrome = TRUE;
     do {
         $temp1 = substr($inputStripped, $intPointer1, 1);
         $temp2 = substr($inputStripped, $intPointer2, 1);
         log_util::log(LOG_LEVEL_DEBUG, "temp1: " . $temp1);
         log_util::log(LOG_LEVEL_DEBUG, "temp2: " . $temp2);
         if ($temp1 == $temp2) {
             $intPointer1++;
             $intPointer2--;
             log_util::log(LOG_LEVEL_DEBUG, "temp1: '" . $temp1 . "' DOES equal temp2: '" . $temp2 . "', incrementing intPointer1 and decrementing intPointer2");
             log_util::log(LOG_LEVEL_DEBUG, "intPointer1: " . $intPointer1);
             log_util::log(LOG_LEVEL_DEBUG, "intPointer2: " . $intPointer2);
         } else {
             log_util::log(LOG_LEVEL_DEBUG, "temp1: '" . $temp1 . "' DOES NOT equal temp2: '" . $temp2 . "', this is not a Palindrome");
             $isPalindrome = FALSE;
         }
     } while ($intPointer1 <= $intPointer2 && $intPointer2 >= $intPointer1 && $isPalindrome);
     log_util::log(LOG_LEVEL_DEBUG, "isPalindrome: " . $isPalindrome);
     return $isPalindrome;
 }
Esempio n. 2
0
 private static function writePalindrome($palindrome)
 {
     $reflector = new ReflectionClass(__CLASS__);
     $parameters = $reflector->getMethod(__FUNCTION__)->getParameters();
     $args = [];
     foreach ($parameters as $parameter) {
         $args[$parameter->name] = ${$parameter->name};
     }
     log_util::logFunctionStart($args);
     $pdo = lib_database::connect();
     if (!empty($pdo)) {
         log_util::log(LOG_LEVEL_ERROR, "pdo connection WAS NOT empty");
         $stmt = $pdo->prepare("INSERT INTO palindromes (string, isPalindrome) VALUE (?, ?, ?)");
         $stmt->bindParam(1, $palindrome->getString(), PDO::PARAM_INT);
         $stmt->bindParam(2, $palindrome->isPalindrome(), PDO::PARAM_STR);
         $stmt->execute();
     } else {
         log_util::log(LOG_LEVEL_ERROR, "pdo connection WAS empty");
     }
     $pdo = NULL;
 }