<?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=Exempel</id>
	<title>Exempel - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linux.se/index.php?action=history&amp;feed=atom&amp;title=Exempel"/>
	<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Exempel&amp;action=history"/>
	<updated>2026-04-10T19:16:38Z</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=Exempel&amp;diff=3287&amp;oldid=prev</id>
		<title>Admin: Skapade sidan med &#039;== Exempel ==  === Exempel #1 Grundläggande begränsade värden ===  &lt;pre&gt; enum SortOrder {     case Asc;     case Desc; }  function query($fields, $filter, SortOrder $order = SortOrder::Asc) {      /* ... */ } &lt;/pre&gt;  Funktionen &#039;&#039;&#039;query()&#039;&#039;&#039; kan nu fortsätta med tryggheten att $order garanterat är antingen &#039;&#039;&#039;SortOrder::Asc&#039;&#039;&#039; eller &#039;&#039;&#039;SortOrder::Desc&#039;&#039;&#039;. Alla andra värden skulle ha resulterat i ett TypeError, så ingen ytterligare felkontroll eller testning behöv...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.linux.se/index.php?title=Exempel&amp;diff=3287&amp;oldid=prev"/>
		<updated>2024-08-20T08:07:12Z</updated>

		<summary type="html">&lt;p&gt;Skapade sidan med &amp;#039;== Exempel ==  === Exempel #1 Grundläggande begränsade värden ===  &amp;lt;pre&amp;gt; enum SortOrder {     case Asc;     case Desc; }  function query($fields, $filter, SortOrder $order = SortOrder::Asc) {      &lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;...: &lt;/span&gt; } &amp;lt;/pre&amp;gt;  Funktionen &amp;#039;&amp;#039;&amp;#039;query()&amp;#039;&amp;#039;&amp;#039; kan nu fortsätta med tryggheten att $order garanterat är antingen &amp;#039;&amp;#039;&amp;#039;SortOrder::Asc&amp;#039;&amp;#039;&amp;#039; eller &amp;#039;&amp;#039;&amp;#039;SortOrder::Desc&amp;#039;&amp;#039;&amp;#039;. Alla andra värden skulle ha resulterat i ett TypeError, så ingen ytterligare felkontroll eller testning behöv...&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;== Exempel ==&lt;br /&gt;
&lt;br /&gt;
=== Exempel #1 Grundläggande begränsade värden ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum SortOrder&lt;br /&gt;
{&lt;br /&gt;
    case Asc;&lt;br /&gt;
    case Desc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function query($fields, $filter, SortOrder $order = SortOrder::Asc)&lt;br /&gt;
{&lt;br /&gt;
     /* ... */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funktionen &amp;#039;&amp;#039;&amp;#039;query()&amp;#039;&amp;#039;&amp;#039; kan nu fortsätta med tryggheten att $order garanterat är antingen &amp;#039;&amp;#039;&amp;#039;SortOrder::Asc&amp;#039;&amp;#039;&amp;#039; eller &amp;#039;&amp;#039;&amp;#039;SortOrder::Desc&amp;#039;&amp;#039;&amp;#039;. Alla andra värden skulle ha resulterat i ett TypeError, så ingen ytterligare felkontroll eller testning behövs.&lt;br /&gt;
&lt;br /&gt;
=== Exempel #2 Avancerade exklusiva värden ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
enum UserStatus: string&lt;br /&gt;
{&lt;br /&gt;
    case Pending = &amp;#039;P&amp;#039;;&lt;br /&gt;
    case Active = &amp;#039;A&amp;#039;;&lt;br /&gt;
    case Suspended = &amp;#039;S&amp;#039;;&lt;br /&gt;
    case CanceledByUser = &amp;#039;C&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    public function label(): string&lt;br /&gt;
    {&lt;br /&gt;
        return match($this) {&lt;br /&gt;
            static::Pending =&amp;gt; &amp;#039;Väntande&amp;#039;,&lt;br /&gt;
            static::Active =&amp;gt; &amp;#039;Aktiv&amp;#039;,&lt;br /&gt;
            static::Suspended =&amp;gt; &amp;#039;Avstängd&amp;#039;,&lt;br /&gt;
            static::CanceledByUser =&amp;gt; &amp;#039;Avslutad av användaren&amp;#039;,&lt;br /&gt;
        };&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I detta exempel kan en användares status vara en av, och exklusivt, &amp;#039;&amp;#039;&amp;#039;UserStatus::Pending&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;UserStatus::Active&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;UserStatus::Suspended&amp;#039;&amp;#039;&amp;#039; eller &amp;#039;&amp;#039;&amp;#039;UserStatus::CanceledByUser&amp;#039;&amp;#039;&amp;#039;. En funktion kan typdefiniera en parameter mot &amp;#039;&amp;#039;&amp;#039;UserStatus&amp;#039;&amp;#039;&amp;#039; och endast acceptera dessa fyra värden, punkt.&lt;br /&gt;
&lt;br /&gt;
Alla fyra värden har en &amp;#039;&amp;#039;&amp;#039;label()&amp;#039;&amp;#039;&amp;#039;-metod, som returnerar en mänskligt läsbar sträng. Denna sträng är oberoende av den &amp;quot;maskinnamns&amp;quot;-skalära motsvarande strängen, som kan användas till exempel i en databasfält eller en HTML-väljbox.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
foreach (UserStatus::cases() as $case) {&lt;br /&gt;
    printf(&amp;#039;&amp;lt;option value=&amp;quot;%s&amp;quot;&amp;gt;%s&amp;lt;/option&amp;gt;\n&amp;#039;, $case-&amp;gt;value, $case-&amp;gt;label());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Sidslut =&lt;br /&gt;
Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.enumerations.examples.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#Uppräkningar]]&lt;br /&gt;
[[Kategori:Php]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på &lt;br /&gt;
https://www.linux.se/kontaka-linux-se/&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>