webForumDet fria alternativet

funktioner i funktioner

PHP

1 svar · 183 visningar · startad av psykolog

Medlem sedan apr. 2000137 inlägg
Frågan#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...

264 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)