<?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=Variabla_funktioner</id>
	<title>Variabla funktioner - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Variabla_funktioner"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Variabla_funktioner&amp;action=history"/>
	<updated>2026-04-28T20:16:15Z</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=Variabla_funktioner&amp;diff=3169&amp;oldid=prev</id>
		<title>Admin: /* Se även */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Variabla_funktioner&amp;diff=3169&amp;oldid=prev"/>
		<updated>2024-08-18T18:17:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Se även&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 18 augusti 2024 kl. 18.17&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l107&quot;&gt;Rad 107:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Rad 107:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[function_exists()]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[function_exists()]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[variable variables]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[variable variables]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Sidslut =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Orginalhemsidan på Engelska : &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;BR&gt;[[PHP]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;BR&gt;[[Språkreferens]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;BR&gt;[[Språkreferens#Funktioner]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Kategori:Php]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.linux.se/index.php?title=Variabla_funktioner&amp;diff=3168&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;== Variabla funktioner == PHP stöder konceptet med variabla funktioner. Detta innebär att om ett variabelnamn har parenteser tillagda till sig, kommer PHP att leta efter en funktion med samma namn som vad variabeln utvärderas till och försöka köra den. Bland annat kan detta användas för att implementera callbacks, funktionslistor, och så vidare.  Variabla funktioner fungerar inte med språkkonstruktioner som &#039;&#039;&#039;echo&#039;&#039;&#039;, &#039;&#039;&#039;print&#039;&#039;&#039;, &#039;&#039;&#039;unset()&#039;&#039;&#039;, &#039;&#039;&#039;isset()&#039;&#039;&#039;,...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Variabla_funktioner&amp;diff=3168&amp;oldid=prev"/>
		<updated>2024-08-18T18:16:05Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;== Variabla funktioner == PHP stöder konceptet med variabla funktioner. Detta innebär att om ett variabelnamn har parenteser tillagda till sig, kommer PHP att leta efter en funktion med samma namn som vad variabeln utvärderas till och försöka köra den. Bland annat kan detta användas för att implementera callbacks, funktionslistor, och så vidare.  Variabla funktioner fungerar inte med språkkonstruktioner som &amp;#039;&amp;#039;&amp;#039;echo&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;print&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;unset()&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;isset()&amp;#039;&amp;#039;&amp;#039;,...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Variabla funktioner ==&lt;br /&gt;
PHP stöder konceptet med variabla funktioner. Detta innebär att om ett variabelnamn har parenteser tillagda till sig, kommer PHP att leta efter en funktion med samma namn som vad variabeln utvärderas till och försöka köra den. Bland annat kan detta användas för att implementera callbacks, funktionslistor, och så vidare.&lt;br /&gt;
&lt;br /&gt;
Variabla funktioner fungerar inte med språkkonstruktioner som &amp;#039;&amp;#039;&amp;#039;echo&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;print&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;unset()&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;isset()&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;empty()&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;include&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;require&amp;#039;&amp;#039;&amp;#039; och liknande. Använd wrapper-funktioner för att kunna använda någon av dessa konstruktioner som variabla funktioner.&lt;br /&gt;
&lt;br /&gt;
=== Exempel #1 Exempel på variabel funktion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function foo() {&lt;br /&gt;
    echo &amp;quot;In foo()&amp;lt;br /&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function bar($arg = &amp;#039;&amp;#039;)&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;In bar(); argument was &amp;#039;$arg&amp;#039;.&amp;lt;br /&amp;gt;\n&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Detta är en wrapper-funktion runt echo&lt;br /&gt;
function echoit($string)&lt;br /&gt;
{&lt;br /&gt;
    echo $string;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$func = &amp;#039;foo&amp;#039;;&lt;br /&gt;
$func();        // Detta anropar foo()&lt;br /&gt;
&lt;br /&gt;
$func = &amp;#039;bar&amp;#039;;&lt;br /&gt;
$func(&amp;#039;test&amp;#039;);  // Detta anropar bar()&lt;br /&gt;
&lt;br /&gt;
$func = &amp;#039;echoit&amp;#039;;&lt;br /&gt;
$func(&amp;#039;test&amp;#039;);  // Detta anropar echoit()&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objektmetoder kan också anropas med syntaxen för variabla funktioner.&lt;br /&gt;
&lt;br /&gt;
=== Exempel #2 Exempel på variabel metod ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Foo&lt;br /&gt;
{&lt;br /&gt;
    function Variable()&lt;br /&gt;
    {&lt;br /&gt;
        $name = &amp;#039;Bar&amp;#039;;&lt;br /&gt;
        $this-&amp;gt;$name(); // Detta anropar metoden Bar()&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    function Bar()&lt;br /&gt;
    {&lt;br /&gt;
        echo &amp;quot;This is Bar&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$foo = new Foo();&lt;br /&gt;
$funcname = &amp;quot;Variable&amp;quot;;&lt;br /&gt;
$foo-&amp;gt;$funcname();  // Detta anropar $foo-&amp;gt;Variable()&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
När statiska metoder anropas, är funktionsanropet starkare än den statiska egenskapsoperatören:&lt;br /&gt;
&lt;br /&gt;
=== Exempel #3 Exempel på variabel metod med statiska egenskaper ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Foo&lt;br /&gt;
{&lt;br /&gt;
    static $variable = &amp;#039;static property&amp;#039;;&lt;br /&gt;
    static function Variable()&lt;br /&gt;
    {&lt;br /&gt;
        echo &amp;#039;Method Variable called&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo Foo::$variable; // Detta skriver ut &amp;#039;static property&amp;#039;. Det behöver en $variable i detta omfång.&lt;br /&gt;
$variable = &amp;quot;Variable&amp;quot;;&lt;br /&gt;
Foo::$variable();  // Detta anropar $foo-&amp;gt;Variable() genom att läsa $variable i detta omfång.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Exempel #4 Komplexa anropbara ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class Foo&lt;br /&gt;
{&lt;br /&gt;
    static function bar()&lt;br /&gt;
    {&lt;br /&gt;
        echo &amp;quot;bar\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    function baz()&lt;br /&gt;
    {&lt;br /&gt;
        echo &amp;quot;baz\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$func = array(&amp;quot;Foo&amp;quot;, &amp;quot;bar&amp;quot;);&lt;br /&gt;
$func(); // skriver ut &amp;quot;bar&amp;quot;&lt;br /&gt;
$func = array(new Foo, &amp;quot;baz&amp;quot;);&lt;br /&gt;
$func(); // skriver ut &amp;quot;baz&amp;quot;&lt;br /&gt;
$func = &amp;quot;Foo::bar&amp;quot;;&lt;br /&gt;
$func(); // skriver ut &amp;quot;bar&amp;quot;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Se även ==&lt;br /&gt;
* [[is_callable()]]&lt;br /&gt;
* [[call_user_func()]]&lt;br /&gt;
* [[function_exists()]]&lt;br /&gt;
* [[variable variables]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>