funktioner i funktioner

PHP

1 svar · 187 visningar · startad av psykolog

Medlem sedan apr. 2000137 inlägg
Trådstart#1

Jag måste missat nåt när det gäller att skapa nästade funktioner.

lite halvPseudoKodsExempel:

function isValid($input, $action = 'cleanup') 
{

   function cleanText($str)
   {
      $output = Rensa upp text
      return $output;
   }

   function checkEmail($str)
   {
      if ($str == valid email)
      {
          return true;
      }
      return false;
   }

   switch ($action)
   {
      case 'cleanup':
         $output = cleanText($input);
      break;
      case 'emailval':
         $output = checkEmail($input);
      break;
   }

}

den här funktionen är naturligtvis tänkt att köras få ett antal värden i samma fil i stil med följande:

$isEmail = isvalid($email, 'emailval');
$cleanText = isvalid($dirtyText, 'cleanup');

Den fullständiga koden funkar. Första gången. Sen andra gången så blir den arg och vill inte deklarera om funktionerna 'cleanText' och 'checkEmail'. Hur gör jag för att den inte skall försöka deklarera om de där funktionerna?

Medlem sedan apr. 2000137 inlägg
#2

http://se2.php.net/manual/en

Ibland kollar man inte tillräckligt noga.


if ( !function_exists('funktionsNamn') ) {

   function funktionsNamn($param1, $param2) {

  }

}

Hoppas någon mer än jag lärde sig nåt...

270 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)