<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Anv%C3%A4ndardefinierade_funktioner</id>
	<title>Användardefinierade funktioner - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Anv%C3%A4ndardefinierade_funktioner"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Anv%C3%A4ndardefinierade_funktioner&amp;action=history"/>
	<updated>2026-04-28T19:12:50Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://wiki.linux.se/index.php?title=Anv%C3%A4ndardefinierade_funktioner&amp;diff=3163&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;== Användardefinierade funktioner == En funktion kan definieras med syntax som följande:  === Exempel #1 Pseudokod för att demonstrera användning av funktioner === &lt;pre&gt; &lt;?php function foo($arg_1, $arg_2, /* ..., */ $arg_n) {     echo &quot;Exempelfunktion.\n&quot;;     return $retval; } ?&gt; &lt;/pre&gt; Alla giltiga PHP-kod kan förekomma inuti en funktion, inklusive andra funktioner och klassdefinitioner.  Funktionsnamn följer samma regler som andra etiketter i PHP. Ett giltigt fu...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Anv%C3%A4ndardefinierade_funktioner&amp;diff=3163&amp;oldid=prev"/>
		<updated>2024-08-18T17:59:30Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;== Användardefinierade funktioner == En funktion kan definieras med syntax som följande:  === Exempel #1 Pseudokod för att demonstrera användning av funktioner === &amp;lt;pre&amp;gt; &amp;lt;?php function foo($arg_1, $arg_2, &lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;...,: &lt;/span&gt; $arg_n) {     echo &amp;quot;Exempelfunktion.\n&amp;quot;;     return $retval; } ?&amp;gt; &amp;lt;/pre&amp;gt; Alla giltiga PHP-kod kan förekomma inuti en funktion, inklusive andra funktioner och klassdefinitioner.  Funktionsnamn följer samma regler som andra etiketter i PHP. Ett giltigt fu...&amp;#039;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Användardefinierade funktioner ==&lt;br /&gt;
En funktion kan definieras med syntax som följande:&lt;br /&gt;
&lt;br /&gt;
=== Exempel #1 Pseudokod för att demonstrera användning av funktioner ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function foo($arg_1, $arg_2, /* ..., */ $arg_n)&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;Exempelfunktion.\n&amp;quot;;&lt;br /&gt;
    return $retval;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Alla giltiga PHP-kod kan förekomma inuti en funktion, inklusive andra funktioner och klassdefinitioner.&lt;br /&gt;
&lt;br /&gt;
Funktionsnamn följer samma regler som andra etiketter i PHP. Ett giltigt funktionsnamn börjar med en bokstav eller understreck, följt av valfritt antal bokstäver, siffror eller understreck. Som ett reguljärt uttryck skulle det uttryckas så här: `^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tips:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Se även [[Userland Naming Guide]].&lt;br /&gt;
&lt;br /&gt;
Funktioner behöver inte definieras innan de refereras, förutom när en funktion är villkorligt definierad som visas i de två exemplen nedan.&lt;br /&gt;
&lt;br /&gt;
När en funktion är definierad på ett villkorligt sätt, som i de två visade exemplen, måste dess definition behandlas innan den kan anropas.&lt;br /&gt;
&lt;br /&gt;
=== Exempel #2 Villkorliga funktioner ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
$makefoo = true;&lt;br /&gt;
&lt;br /&gt;
/* Vi kan inte anropa foo() härifrån &lt;br /&gt;
   eftersom den inte existerar ännu,&lt;br /&gt;
   men vi kan anropa bar() */&lt;br /&gt;
&lt;br /&gt;
bar();&lt;br /&gt;
&lt;br /&gt;
if ($makefoo) {&lt;br /&gt;
  function foo()&lt;br /&gt;
  {&lt;br /&gt;
    echo &amp;quot;Jag existerar inte förrän programmet når mig.\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Nu kan vi säkert anropa foo()&lt;br /&gt;
   eftersom $makefoo utvärderades till true */&lt;br /&gt;
&lt;br /&gt;
if ($makefoo) foo();&lt;br /&gt;
&lt;br /&gt;
function bar() &lt;br /&gt;
{&lt;br /&gt;
  echo &amp;quot;Jag existerar omedelbart vid programstart.\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exempel #3 Funktioner inom funktioner ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function foo() &lt;br /&gt;
{&lt;br /&gt;
  function bar() &lt;br /&gt;
  {&lt;br /&gt;
    echo &amp;quot;Jag existerar inte förrän foo() anropas.\n&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Vi kan inte anropa bar() ännu&lt;br /&gt;
   eftersom den inte existerar. */&lt;br /&gt;
&lt;br /&gt;
foo();&lt;br /&gt;
&lt;br /&gt;
/* Nu kan vi anropa bar(),&lt;br /&gt;
   foo()&amp;#039;s bearbetning har&lt;br /&gt;
   gjort den tillgänglig. */&lt;br /&gt;
&lt;br /&gt;
bar();&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alla funktioner och klasser i PHP har det globala omfånget - de kan anropas utanför en funktion även om de definierades inuti och vice versa.&lt;br /&gt;
&lt;br /&gt;
PHP stöder inte funktionsöverlagring, och det är inte möjligt att avdefiniera eller omdefiniera tidigare deklarerade funktioner.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Notera:&amp;#039;&amp;#039;&amp;#039; Funktionsnamn är inte skiftlägeskänsliga för ASCII-tecknen A till Z, men det är vanligtvis god sed att anropa funktioner som de visas i sin deklaration.&lt;br /&gt;
&lt;br /&gt;
Både variabelt antal argument och standardargument stöds i funktioner. Se även funktionsreferenserna för [[func_num_args()]], [[func_get_arg()]] och [[func_get_args()]] för mer information.&lt;br /&gt;
&lt;br /&gt;
Det är möjligt att anropa rekursiva funktioner i PHP.&lt;br /&gt;
&lt;br /&gt;
=== Exempel #4 Rekursiva funktioner ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function recursion($a)&lt;br /&gt;
{&lt;br /&gt;
    if ($a &amp;lt; 20) {&lt;br /&gt;
        echo &amp;quot;$a\n&amp;quot;;&lt;br /&gt;
        recursion($a + 1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Notera:&amp;#039;&amp;#039;&amp;#039; Rekursiva funktions-/metodanrop med över 100-200 rekursionsnivåer kan krascha stacken och orsaka att det aktuella skriptet avslutas. Speciellt anses oändlig rekursion vara ett programmeringsfel.&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
Orginalhemsidan på Engelska : https://www.php.net/manual/en/functions.user-defined.php&lt;br /&gt;
&amp;lt;BR&amp;gt;[[PHP]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens]]&lt;br /&gt;
&amp;lt;BR&amp;gt;[[Språkreferens#Funktioner]]&lt;br /&gt;
[[Kategori:Php]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>