HTTP Web-Sniffer 1.0.36 by Lingo4you - Sprachen Online Lernen

View HTTP Request and Response Header

For more information on HTTP see RFC 2616

HTTP(S)-URL: (IDN allowed)

HTTP version:

• Request type:

HTTP Request Header

Connect to 130.237.208.46 on port 80 ... ok

POST /servertekniker/php/funktioner/index.php HTTP/1.1[CRLF]
Host: internet.physto.se[CRLF]
Connection: close[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://web-sniffer.net/[CRLF]
Content-type: application/x-www-form-urlencoded[CRLF]
Content-length: 0[CRLF]
[CRLF]

HTTP Response Header

NameValueDelim
Status: HTTP/1.1 200 OK
Date:Thu, 02 Sep 2010 14:51:52 GMT
Server:Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8g mod_python/3.3.1 Python/2.4.5 DAV/2 PHP/5.2.5
X-Powered-By:PHP/5.2.5
Set-Cookie:CSSpreferens=7up9vpvq157n7032buts9mrl01; path=/
Connection:close
Transfer-Encoding:chunked
Content-Type:text/html

Content (36.89 KiB)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html lang="sv">

  <head>

    <!-- mime-typ och character set, html/xhtml -->
    <meta http-equiv='content-type' content='text/html; charset=utf-8'>

    <!-- dokumenttitel -->
    <title>Fysikums webb- och mediakurser - Skriptspr&aring;ket PHP</title>

    <!-- kontroll av sökrobotar -->
    <meta name='robots' content='index,follow'>

    <!-- mime-typer för stilmallar och javascript -->
    <meta http-equiv='content-style-type' content='text/css'>
    <meta http-equiv='content-script-type' content='text/javascript'>

    <!-- chache-kontroll -->
    <meta http-equiv='pragma' content='no-cache'>
    <meta http-equiv='cache-control' content='no-cache, must-revalidate'>
    <meta http-equiv='expires' content='0'>

    <!-- kontaktinformation -->
    <meta name='author' content='Hans Mühlen, Fysikum, Stockholms universitet'>
    <meta name='contact_addr' content='hans pkt muhlen snabela physto pkt se'>
    <meta name='copyright' content='Copyright (c) 1995-2010 Hans Mühlen'>

    <!-- skapelse- och revisionsdatum -->
    <meta name='date-revision-yyyymmdd' content='2007109'>

    <!-- förhindra internet explorer att lägga nedladdningsikoner över bilder -->
    <meta http-equiv='imagetoolbar' content='no'>

    <!-- adressikon -->
    <link rel='shortcut icon' href='../../../pic/favicon16x16.png'>

    <!-- sidreferenser -->
    <link rel='alternate' media='print' href='/servertekniker/php/funktioner/index.php?p=1'>

    <!-- hjälp till sökrobotar -->
    <meta name='keywords' content='fysikum, stockholms universitet, albanova, nät, nätverk, digitala media, media, web, webb, webpublicering, webbpublicering, kurs, datorkurs, programmering, webbprogrammering, webprogrammering, webb- och databasprogrammering, databasprogrammering, informationsteknik, grafisk design, koda, handkoda, publicera, hemsida, webbsida, webbutveckling, databas, databaser, html, php, sql, css, stilmall, stilmallar, http, relationsdatabas, apache, php-tolk, mysql, dreamweaver, photoshop, flash, klient, server, tabell, länk, formulär, internet, filer, filhantering, grafik, '>
    <meta name='description' content='Fysikums webb- och mediakurser.'>

    <!-- stilmallar -->
    <!--[if !IE]>-->
    <link type='text/css' rel='stylesheet' media='screen' href='../../../_css/css-stilval.css'>
    <!--<![endif]-->
    <link type='text/css' rel='stylesheet' media='screen' href='../../../_css/css-fontfamily-trebuchet.css'>
    <!--[if !IE]>-->
    <link type='text/css' rel='stylesheet' media='screen' href='../../../_css/css-selectstyle-plain.css' title='Stilmall &quot;plain&quot;'>
    <!--<![endif]-->
    <link type='text/css' rel='stylesheet' media='print' href='../../../_css/inc-colors.css'>
    <link type='text/css' rel='stylesheet' media='print' href='../../../_css/inc-gemensamt.css'>
    <link type='text/css' rel='stylesheet' media='print' href='../../../_css/inc-fontsize-print.css'>
    <link type='text/css' rel='stylesheet' media='print' href='../../../_css/css-fontfamily-verdana.css'>
    <link type='text/css' rel='stylesheet' media='print' href='../../../_css/css-selectstyle-print.css'>
    <!--[if IE]><link type='text/css' rel='stylesheet' media='screen' href='../../../_css/css-selectstyle-msie.css'><![endif]-->

    <!-- javascript -->
    <script type='text/javascript' src='../../../_js/js-mmreloadpage.js'></script>
    <script type='text/javascript' src='../../../_js/js-framekiller.js'></script>
    <script type='text/javascript' src='../../../_js/js-jump.js'></script>
    <script type='text/javascript' src='../../../_js/js-favelets.js'></script>
    <script type='text/javascript' src='../../../_js/js-viewport.js'></script>

    <!-- google analytics -->
    <script type='text/javascript'>
      var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
      document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    </script>
    <script type='text/javascript'>
      var pageTracker = _gat._getTracker("UA-3966006-1");
      pageTracker._initData();
      pageTracker._trackPageview();
    </script>

  </head>



  <body>

    <div id='block-container'>

    <div id='skiptocontent' class='flik'><p><a href='#pagecontent'>G&aring; direkt till inneh&aring;llet</a></p></div>

      <div id='block-banner' class='kapitel wp'>
        <h1><a href='../../../'>FYSIKUMS WEBB- OCH MEDIAKURSER</a></h1>
      </div> <!-- block-banner -->

      <div id='block-navigation'>

        <p class='hidden'>S&ouml;kv&auml;g f&ouml;r denna sida inom webbplatsen:</p>
        <ul id='crumb'>
          <li class='root'>
            <span><a href='../../../index.php'>hem</a></span>
            <div>
              <p><a href='../../../kursinfo/digitalamedia/index.php'><strong>WEBBDESIGN&nbsp;OCH&nbsp;DIGITALA&nbsp;MEDIA</strong></a></p>
              <p><a href='../../../kursinfo/webbprogrammering/index.php'><strong>WEBB-&nbsp;OCH&nbsp;DATABASPROGRAMMERING</strong></a></p>
              <p><a href='../../../serverprogram/index.php'><strong>Program&nbsp;p&aring;&nbsp;serversidan</strong></a></p>
              <p><a href='../../../utvecklingsprogram/index.php'><strong>Program&nbsp;p&aring;&nbsp;utvecklingsdatorn</strong></a></p>
              <p><a href='../../../media/index.php'><strong>Digitala&nbsp;media</strong></a></p>
              <p><a href='../../../externa_enheter/index.php'><strong>Arbeta&nbsp;med&nbsp;externa&nbsp;enheter</strong></a></p>
              <p><a href='../../../filhantering/index.php'><strong>Filhantering</strong></a></p>
              <p><a href='../../../internet/index.php'><strong>Om&nbsp;internet</strong></a></p>
              <p><a href='../../../webbplatser/index.php'><strong>Skapa&nbsp;webbplatser</strong></a></p>
              <p><a href='../../../webbapplikationer/index.php'><strong>Webbapplikationer</strong></a></p>
              <p><a href='../../../servertekniker/index.php'><strong>Tekniker&nbsp;p&aring;&nbsp;serversidan</strong></a></p>
              <p><a href='../../../klienttekniker/index.php'><strong>Tekniker&nbsp;p&aring;&nbsp;klientsidan</strong></a></p>
              <p><a href='../../../webbsidor/index.php'><strong>Komponenter&nbsp;i&nbsp;webbsidor</strong></a></p>
              <p><a href='../../../oh/index.php'><strong>F&ouml;rel&auml;sningsanteckningar</strong></a></p>
              <p><a href='../../../resurser/index.php'><strong>Resurser</strong></a></p>
              <p><a href='../../../kursinfo/index.php'><strong>Kursinformation</strong></a></p>
            </div>
          </li>
          <li class='grupp'>
            <span><a href='../../../servertekniker/index.php'>serversidestekniker</a></span>
            <div>
              <p><a href='../../../servertekniker/cgi/index.php'><strong>cgi</strong></a></p>
              <p><a href='../../../servertekniker/http/index.php'><strong>http</strong></a></p>
              <p><a href='../../../servertekniker/perl/index.php'><strong>perl</strong></a></p>
              <p><a href='../../../servertekniker/php/index.php'><strong>php</strong></a></p>
              <p><a href='../../../servertekniker/sql/index.php'><strong>sql</strong></a></p>
              <p><a href='../../../servertekniker/ssi/index.php'><strong>ssi</strong></a></p>
            </div>
          </li>
          <li class='artikel'>
            <span><a href='../../../servertekniker/php/index.php'>php</a></span>
            <div>
              <p><a href='../../../servertekniker/php/autentisering/index.php'><strong>autentisering</strong></a></p>
              <p><a href='../../../servertekniker/php/cookies/index.php'><strong>cookies</strong></a></p>
              <p><a href='../../../servertekniker/php/datatyper/index.php'><strong>datatyper</strong></a></p>
              <p><a href='../../../servertekniker/php/datum_tid/index.php'><strong>datum&nbsp;och&nbsp;tid</strong></a></p>
              <p><a href='../../../servertekniker/php/dreamweaver/index.php'><strong>dreamweaver</strong></a></p>
              <p><a href='../../../servertekniker/php/epost/index.php'><strong>epost</strong></a></p>
              <p><a href='../../../servertekniker/php/felhantering/index.php'><strong>felhantering</strong></a></p>
              <p><a href='../../../servertekniker/php/filer/index.php'><strong>filer&nbsp;och&nbsp;kataloger</strong></a></p>
              <p><a href='../../../servertekniker/php/filuppladdning/index.php'><strong>filuppladdning</strong></a></p>
              <p><a href='../../../servertekniker/php/funktioner/index.php'><strong>funktioner</strong></a></p>
              <p><a href='../../../servertekniker/php/http/index.php'><strong>http-protokollet</strong></a></p>
              <p><a href='../../../servertekniker/php/inledning/index.php'><strong>inledning</strong></a></p>
              <p><a href='../../../servertekniker/php/kodblock/index.php'><strong>kodblock</strong></a></p>
              <p><a href='../../../servertekniker/php/konfigurering/index.php'><strong>konfigurering</strong></a></p>
              <p><a href='../../../servertekniker/php/konstanter_variabler/index.php'><strong>konstanter&nbsp;och&nbsp;variabler</strong></a></p>
              <p><a href='../../../servertekniker/php/lasmer/index.php'><strong>lasmer</strong></a></p>
              <p><a href='../../../servertekniker/php/ldap/index.php'><strong>ldap</strong></a></p>
              <p><a href='../../../servertekniker/php/mediafiler/index.php'><strong>mediafiler</strong></a></p>
              <p><a href='../../../servertekniker/php/mysql/index.php'><strong>mysql</strong></a></p>
              <p><a href='../../../servertekniker/php/objekt/index.php'><strong>objekt</strong></a></p>
              <p><a href='../../../servertekniker/php/operatorer/index.php'><strong>operatorer</strong></a></p>
              <p><a href='../../../servertekniker/php/ovningar/index.php'><strong>ovningar</strong></a></p>
              <p><a href='../../../servertekniker/php/regexp/index.php'><strong>regulj&auml;ra&nbsp;uttryck</strong></a></p>
              <p><a href='../../../servertekniker/php/sakerhet/index.php'><strong>s&auml;kerhet</strong></a></p>
              <p><a href='../../../servertekniker/php/satser/index.php'><strong>satser</strong></a></p>
              <p><a href='../../../servertekniker/php/sessioner/index.php'><strong>sessioner</strong></a></p>
              <p><a href='../../../servertekniker/php/request/index.php'><strong>skicka&nbsp;data</strong></a></p>
              <p><a href='../../../servertekniker/php/slingor/index.php'><strong>slingor</strong></a></p>
              <p><a href='../../../servertekniker/php/strangar/index.php'><strong>str&auml;ngar</strong></a></p>
              <p><a href='../../../servertekniker/php/utskrift/index.php'><strong>utskrift</strong></a></p>
              <p><a href='../../../servertekniker/php/vektorer/index.php'><strong>vektorer</strong></a></p>
              <p><a href='../../../servertekniker/php/villkor/index.php'><strong>villkor</strong></a></p>
            </div>
          </li>
          <li class='kapitel'>
            <span>funktioner</span>
            <div>
              <p><a href='../../../servertekniker/php/funktioner/egna/index.php'><strong>egna&nbsp;funktioner</strong></a></p>
              <p><a href='../../../servertekniker/php/funktioner/standard/index.php'><strong>standardfunktioner</strong></a></p>
            </div>
          </li>
        </ul>

      </div> <!-- block-navigation -->

      <div id='block-main'>

        <hr class='hidden'>

        <div id='pagehead'>

          <div id='headline'>
            <h2 class='kapitel'>SKRIPTSPR&Aring;KET PHP</h2>
            <h3 class='kapitel'><span>17. </span>FUNKTIONER</h3>
            <p>URL:&nbsp;<a href='../../..' class='underline'>internet.physto.se</a></p>
          </div> <!-- headline -->

          <div id='menu'>
            <p>I&nbsp;detta&nbsp;kapitel:</p>
            <p>17.1.&nbsp;<strong><a href='standard/index.php'>PHP:s&nbsp;f&ouml;rdefinierade&nbsp;funktioner</a></strong></p>
            <p>17.2.&nbsp;<strong><a href='egna/index.php'>Definiera&nbsp;egna&nbsp;funktioner</a></strong></p>
          </div> <!-- menu -->

          <div id='preamble'>
            <p>PHP-koden i exemplena i detta kapitel svarar mot &quot;<strong>PHP v. 5.2</strong>&quot;.</p>
          </div> <!-- preamble -->

        </div> <!-- pagehead -->

        <hr class='hidden'>

        <div id='pagecontent'>

          <div class='kapitel'>

<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

<div class='sektion'> <!-- - - - - - - - - - - - - - - - - - - - - -->

<h4>En funktion g&ouml;r n&aring;got och returnerar sedan ett svar</h4>

<p>Ett mycket viktigt begrepp inom skriptspr&aring;ket PHP och tillika f&ouml;r alla andra programmerings- och skriptsrp&aring;k &auml;r <i>funktionen</i> (eng. <i>function</i>). En funktion &auml;r ett spr&aring;kelement som i sin mest karakteristiska form <b>tar ett eller flera startv&auml;rden (<i>indata</i> till funktionen), d&auml;refter bearbetar dessa data p&aring; n&aring;got s&auml;tt och slutligen producerar n&aring;gon form av resultat av bearbetningen (<i>funktionsv&auml;rdet</i>, eller <i>utdata</i> fr&aring;n funktionen)</b>. Exakt hur bearbetningen g&aring;r till f&ouml;rskonas vi programmerare fr&aring;n att beh&ouml;va veta, s&aring; p&aring; s&auml;tt och vis ter sig funktionen som en slags svart l&aring;da med en ing&aring;ng f&ouml;r indata och en utg&aring;ng f&ouml;r funktionsresultatet:</p>

<p class='bild'><img src='../../../servertekniker/php/funktioner/bild/php_funktioner.gif' width='450' height='105' alt=''></p>










<p>Ett enkelt kodexempel. I PHP finns en f&ouml;rdefinierad funktion som heter "sqrt" och som tar ett hel- eller decimaltal som indata och ber&auml;knar kvadratroten av talet som utdata. Sj&auml;lva funktionsv&auml;rdet kan vi sedan skriva ut till webbsidan med en vanlig <code>print</code>-sats:</p>

<div class='ruta kodfragment'>
print <strong>sqrt</strong>(25)
</div>

<p>Skrivs&auml;ttet &auml;r l&aring;nat fr&aring;n matematikens s&auml;tt att skriva <i>matematiska funktioner</i>, n&auml;mligen f&ouml;rst funktionens namn f&ouml;ljt av en parentes som omger indata (matematikens <i>variabler</i>, men detta ord anv&auml;nds inte i programmeringssammanhang).</p>

</div> <!-- sektion -->









<div class='sektion'> <!-- - - - - - - - - - - - - - - - - - - - - -->

<h4>En funktion &auml;r ett utryck med ett best&auml;mt v&auml;rde</h4>

<p>Metaforen med funktionen som en slags <i>maskin</i> som konverterar indata till utdata &auml;r bara en av de m&aring;nga spr&aring;kliga beskrivningar man kan ta till f&ouml;r att f&ouml;rst&aring; funktioner. En annan nyttig metafor &auml;r den om <i>uttrycket</i> (eng. <i>expression</i>). I ett skript- eller programmeringsspr&aring;k kan spr&aring;kkonstruktioner ses som s.k. uttryck som kan <i>utv&auml;rderas</i> och d&aring; visa sig ha ett <i>v&auml;rde</i>, som man sedan kan sammanfoga med andra v&auml;rden, skriva ut eller anv&auml;nda som indata till nya funktioner. Ta t.ex f&ouml;ljande kodavsnitt, d&auml;r varje rad &auml;r ett "uttryck" i denna bem&auml;rkelse:</p>

<div class='ruta kodfragment'>
"Hans"
<br>
<br>$pris
<br>
<br>2 + 3
<br>
<br>$pris &gt; 100
<br>
<br>sqrt(25)
<br>
<br>isset($pris) && $pris&gt;100
</div>

<p>Det f&ouml;rsta uttrycket &auml;r bara ett enkelt <i>givet v&auml;rde</i> (eng. <i>literal</i>; ibland pratar man om <i>konstanter</i>, eng <i>constants</i>), i detta fall en str&auml;ng. Str&auml;ngens v&auml;rde &auml;r precis str&auml;ngen sj&auml;lv, p.s.s som v&auml;rdet f&ouml;r ett heltal &auml;r heltalet sj&auml;lvt.</p>

<p>N&auml;sta exempel &auml;r en <i>variabel</i>, en slags "namngiven beh&aring;llare" f&ouml;r v&auml;rden. Du tilldelar en variabel sitt v&auml;rde med en <i>tilldelningssats</i> t.ex <code>$pris=23.50</code>, och efter detta kommer uttrycket <code>$pris</code> ha just v&auml;rdet <i>23,50</i>.</p>










<p>Det tredje exemplet &auml;r ett uttryck vars v&auml;rde &auml;r resultatet av en <i>aritmetisk ber&auml;kning</i> som utg&aring;r fr&aring;n de tv&aring; v&auml;rdena <i>2</i> och <i>3</i>, och d&auml;r ber&auml;kningen &aring;stadkoms av <i>additionsoperatorn</i>.</p>

<p>En annan sorts operator &auml;r de logiska <i>j&auml;mf&ouml;relseoperatorerna</i>. I det fj&auml;rde uttrycket ovan j&auml;mf&ouml;rs tv&aring; v&auml;rden, v&auml;rdet p&aring; variabeln <code>$pris</code> och det givna v&auml;rdet <i>100</i>, med j&auml;mf&ouml;relseoperatorn <i>st&ouml;rre&auml;n</i>. V&auml;rdet f&ouml;r hela uttrycket &auml;r antingen <i>sant</i> om det f&ouml;rsta v&auml;rdet &auml;r st&ouml;rre &auml;n det andra, annars &auml;r uttryckets v&auml;rde <i>falskt</i>. PHP kan f&ouml;ljaktligen f&ouml;rutom str&auml;ngar och hel- och decimaltal &auml;ven hantera <i>logiska v&auml;rden</i>.</p>

<p>Operatorer som de artitmetiska ber&auml;kningsoperatorerna eller de logiska j&auml;mf&ouml;relseoperatorerna kan man se som en slags "funktioner", &auml;ven om skrivs&auml;ttet skiljer sig fr&aring;n egentliga funktioner. Uttrycksexempel fem ovan &auml;r d&auml;remot en riktig funktion, den tidigare n&auml;mnda kvadratrotsfunktionen. Sedd som uttryck har denna konstruktion ett v&auml;rde lika med utdata eller funktionsv&auml;rde f&ouml;r funktionen. I exemplet ovan &auml;r funktionsuttryckets v&auml;rde allts&aring; <i>5</i>.</p>

<p>Mitt sista exempel &auml;r ett mer komplicerat uttryck, sammansatt av alla de tidigare n&auml;mnda typerna av uttryck. Hela uttrycket har ett sanningsv&auml;rde, d.v.s <i>sant</i> eller <i>falskt</i>, beroende p&aring; om variabeln <code>$pris</code> tidigare har tilldelats ett v&auml;rde, och om i s&aring; fall detta v&auml;rde &auml;r st&ouml;rre &auml;n hundra. Testet om variabeln har ett v&auml;rde g&ouml;rs med en <i>logisk funktion</i>, d.v.s en funktion som har tv&aring; m&ouml;jliga utdata, <i>sant</i> eller <i>falskt</i>.</p>

<p>Det &auml;r v&auml;l en smaksak om du vill se funktioner som svarta l&aring;dor f&ouml;r datamanipulering eller som spr&aring;kliga uttryck med v&auml;rden. Du kanske har andra metaforer som hj&auml;lper dig hantera funktioner och andra spr&aring;kliga konstruktioner.</p>

</div> <!-- sektion -->









<div class='sektion'> <!-- - - - - - - - - - - - - - - - - - - - - -->

<h4>Argument skickar data in i funktionen</h4>

<p>I PHP brukar man kalla de indata som skickas till en funktion f&ouml;r funktionens <i>argument</i> (eng. <i>argument</i>; ibland pratar man &auml;ven om funktioners <i>parametrar</i>, eng. <i>parameters</i>). Skrivs&auml;ttet &auml;r, som n&auml;mndes ovan, att <b>argument till funktionen skrivs inom parentes efter funktionsnamnet</b>. Det finns funktioner som inte tar n&aring;gra argument alls, funktioner som tar precis ett argument och funktioner som tar flera argument. Om det finns flera argument ska de inom argumentparenteserna skiljas av kommatecken. N&aring;gra exempel:</p>










<div class='ruta kodfragment'>
<strong>time</strong>()
<br>
<br><strong>count</strong>($vektor)
<br>
<br><strong>round</strong>($tal,2)
</div>

<p>Funktionen <code>time()</code> har som utv&auml;rde aktuell tid (om &auml;n formulerad p&aring; ett mycket konstigt s&auml;tt, n&auml;mligen antalet sekunder som f&ouml;rflutit sen ny&aring;ret 1970). Den tar sina indata fr&aring;n datorns systemklocka, och beh&ouml;ver allts&aring; inte n&aring;gra argument. Notera dock att <b>argumentparenteserna m&aring;ste skrivas ut &auml;ven om funktionen inte har n&aring;gra argument</b>. Funktionen <code>count()</code> ber&auml;knar antal element i den vektor som ges som funktionens enda argument. Den tredje funktionen tar ett decimaltal som indata, i kodexemplet v&auml;rdet p&aring; variabeln <code>$tal</code>, och ger som utdata samma decimaltal avrundat till det antal decimaler som st&aring;r som funktionens andra argument.</p>

<p>Det &auml;r viktigt att komma ih&aring;g att en funktion mycket v&auml;l kan ta indata av en datatyp och ge ett resultat som &auml;r en annan datatyp:</p>

<div class='ruta kodfragment'>
$text = "webbsida";
<br>print <strong>stlen</strong>($text);
<br>print <strong>strtoupper</strong>($text);
</div>

<p>Funktionerna <code>strlen()</code> och <code>strtoupper()</code> tar b&aring;da en str&auml;ng som indata, men den ena funktionen returnerar ett heltal (antal tecken i str&auml;ngen) medan den andra returnerar en annan str&auml;ng (den ursprungliga str&auml;ngen med alla bokst&auml;ver som versaler).</p>

<p>P&aring; samma s&auml;tt finns inget som hindrar att funktioner med flera argument kan ha olika datatyper f&ouml;r de olika argumenten. Den ovan n&auml;mnda funktionen <code>round()</code> har t.ex ett decimaltal och ett heltal som sina tv&aring; argument, i den ordningsf&ouml;ljden.</p>

</div> <!-- sektion -->









<div class='sektion'> <!-- - - - - - - - - - - - - - - - - - - - - -->

<h4>Somliga funktioner g&ouml;r n&aring;got utan att returnera n&aring;got</h4>

<p>Jag sa tidigare att den mest generella formen av funktioner i PHP tar indata och konverterar dem till utdata. Vi har redan sett ett undantag fr&aring;n detta schema, n&auml;mligen funktionen <code>time()</code> som inte beh&ouml;ver n&aring;gra indata men &auml;nd&aring; kan producera utdata. Det finns inte helt ov&auml;ntat funktioner som tv&auml;rtom bara tar indata men inte ger ifr&aring;n sig n&aring;gra utdata. I somliga programmeringsspr&aring;k anv&auml;nder man s&auml;rskilt treminologi f&ouml;r s&aring;dana spr&aring;kkonstruktioner: en <i>procedur</i> (eng. <i>procedure</i>) eller <i>subrutin</i> (eng <i>subroutine</i>) g&ouml;r n&aring;got utan att leverera n&aring;got v&auml;rde, medan <i>funktioner</i> g&ouml;r n&aring;got och presterar ett v&auml;rde. I PHP g&ouml;rs dock ingen spr&aring;klig skillnad mellan dessa tv&aring; f&ouml;reteelser.</p>











<p>Den kanske mest k&auml;nda PHP-funktionen utan utdata &auml;r v&auml;l <code>phpinfo()</code> som skriver ut en massa teknisk information om installationen av PHP p&aring; din serverdator. F&ouml;r att verkligen betona sitt totala oberoende tar <code>phpinfo()</code> inte heller n&aring;gra argument!</p>

</div> <!-- sektion -->









<div class='sektion'> <!-- - - - - - - - - - - - - - - - - - - - - -->

<h4>PHP har en rad f&ouml;rdefinierade funktioner</h4>

<p>Alla de funktioner jag har tagit som exempel ovan &auml;r <i>f&ouml;rdefinierade</i> i PHP, d.v.s de finns omedelbart tillg&auml;ngliga n&auml;r du skriver dina webbsideskript. De kallas ocks&aring; f&ouml;r <i>standardfunktioner</i>. Det finns hundratals f&auml;rdiga PHP-funktioner av varierande grad av fiffighet. Du kommer antagligen inte att beh&ouml;va anv&auml;nda s&auml;rskilt m&aring;nga av dem i dina webbsidor, men det kan aldrig skada att k&auml;nna till vad PHP efbjuder, f&ouml;r f&ouml;rr eller senare uppst&aring;r en situation d&auml;r &auml;ven n&aring;gon obskyr specialfunktion kan komma till anv&auml;ndning.</p>

<p>Alla PHP:s f&ouml;rdefinierade funktioner finns mycket v&auml;l dokumenterade i online-manualen <a href='http://www.php.net/manual/en/funcref.php' class='extern'>www.php.net/manual/en/funcref.php</a>. Se &auml;ven <a href='../../../servertekniker/php/funktioner/standard/index.php' >n&auml;sta avsnitt</a> d&auml;r jag beskriver n&aring;gra vanliga standardfunktioner i PHP.</p>

</div> <!-- sektion -->









<div class='sektion'> <!-- - - - - - - - - - - - - - - - - - - - - -->

<h4>Du kan definiera egna funktioner</h4>

<p>Om du k&auml;nner behov av funktioner som inte finns f&ouml;rdefinierade l&aring;ter dig PHP 8och alla andra programmeringsspr&aring;k) att definiera egna funktioner. <b>Definionen utg&ouml;rs av en <i>funktionsdeklaration</i> som du l&auml;gger f&ouml;rst i koden</b> f&ouml;r den sida d&auml;r funktionen kommer att anv&auml;ndas. I deklaretionen ger du funktionen ett namn och bekriver hur m&aring;nga argument den ska ha. Sedan f&ouml;ljer en detaljerad bekrivning av det funktionen ska g&ouml;ra med ev. indata och en angivelse av de utdata funktionen ska ha som v&auml;rde. Detta g&ouml;rs med vanlig PHP-kod.</p>

<p>Nere i din valnliga PHP-kod i skriptet <b>kan du sedan anv&auml;nda din funktion precis som om det vore en av PHP:s egna f&ouml;rdefinierade funktioner</b>. Man brukar s&auml;ga att en funktion <i>anropas</i> nere i koden. Det som "anropas" &auml;r funktionsdklarationen i b&ouml;rjan av sidan. Se avsnittet "<a href='../../../servertekniker/php/funktioner/standard/index.php' >Definiera egna funktioner</a>" f&ouml;r en noggrannare beskrivning av hur du g&aring;r till v&auml;ga.</p>

</div> <!-- sektion -->









<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->

          </div> <!-- kapitel -->

        </div> <!-- pagecontent -->

        <p id='sequor'><a href='standard/index.php'>FORTS&Auml;TT</a></p>

        <hr class='hidden'>

      </div> <!-- block-main -->

      <div id='block-colophon'>

        <form method='post' action='#block-container' class='sitequicklinks'>
          <div>
            <h3 class='hidden'><label for='select'>SNABBNAVIGERING</label></h3>
            <select name='select' id='select' onchange='jump(this)'> 
              <option selected='selected'>G&aring; till...</option>
              <option class='sitequicklinks-rubrik' value='../../../kursinfo/kursmaterial/index.php'>KURSMATERIAL ONLINE</option>
              <option value='../../../serverprogram/index.php'>Program p&aring; serversidan</option>
              <option value='../../../utvecklingsprogram/index.php'>Program p&aring; utvecklingsdatorn</option>
              <option value='../../../media/index.php'>Digitala media</option>
              <option value='../../../externa_enheter/index.php'>Arbeta med externa enheter</option>
              <option value='../../../filhantering/index.php'>Filhantering</option>
              <option value='../../../internet/index.php'>Om internet</option>
              <option value='../../../webbplatser/index.php'>Skapa webbplatser</option>
              <option value='../../../webbapplikationer/index.php'>Webbapplikationer</option>
              <option value='../../../servertekniker/index.php'>Tekniker p&aring; serversidan</option>
              <option value='../../../klienttekniker/index.php'>Tekniker p&aring; klientsidan</option>
              <option value='../../../webbsidor/index.php'>Komponenter i webbsidor</option>
              <option class='sitequicklinks-rubrik' value='../../../oh/index.php'>F&Ouml;REL&Auml;SNINGSANTECKNINGAR</option>
              <option class='sitequicklinks-rubrik' value='../../../resurser/index.php'>RESURSER</option>
              <option class='sitequicklinks-rubrik' value='../../../kursinfo/index.php'>KURSINFORMATION</option>
              <option value='../../../kursinfo/digitalamedia/index.php'>Webbpublicering och digatala media</option>
              <option value='../../../kursinfo/webbprogrammering/index.php'>Webb- och databasprogrammering</option>
              <option value='../../../kursinfo/inforkursen/index.php'>Inf&ouml;r kursen</option>
              <option value='../../../kursinfo/kursmaterial/index.php'>Kursmaterial online</option>
              <option value='../../../kursinfo/studentkonton/index.php'>Studentkonton</option>
            </select>
          </div>
        </form> <!-- sitequicklinks -->

        <hr class='hidden'>
        <div id='favelets'>
          <h3 class='hidden'>FAVELETS</h3>
          <dl>
            <dt>kodvalidering:</dt>
            <dd><ul>
              <li><a href='http://validator.w3.org/check?uri=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php&amp;verbose=1'>x/html</a></li>
              <li><a href='http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php&amp;warning=0&amp;profile=css21&amp;usermedium=all'>css</a></li>
            </ul></dd>
          </dl>
          <dl>
            <dt>tester:</dt>
            <dd><ul>
              <li><a href='http://validator.w3.org/checklink?url=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php&amp;hide_type=all&amp;depth=&amp;check=Check'>l&auml;nkar</a></li>
              <li><a href='http://www.delorie.com/web/ses.cgi?url=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php'>s&ouml;krobot</a></li>
              <li><a href='http://juicystudio.com/services/readability.php?url=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php#readresults'>l&auml;sbarhet</a></li>
              <li><a href='javascript:cssCompatibilityMode()'>css-l&auml;ge</a></li>
            </ul></dd>
          </dl>
          <dl>
            <dt>HTTP-data:</dt>
            <dd><ul>
              <li><a href='javascript:displayCookie()'>cookies</a></li>
              <li><a href='http://web-sniffer.net?url=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php&amp;submit=Submit&amp;http=1.1&amp;gzip=yes&amp;type=GET&amp;ua='>get-huvud</a></li>
              <li><a href='http://web-sniffer.net?url=http%3A%2F%2Finternet.physto.se%2Fservertekniker%2Fphp%2Ffunktioner%2Findex.php&amp;submit=Submit&amp;http=1.1&amp;gzip=yes&amp;type=POST&amp;ua='>post-huvud</a></li>
            </ul></dd>
          </dl>
          <dl>
            <dt>sidstruktur:</dt>
            <dd><ul>
              <li><a href='javascript:showDivs()'>div</a></li>
              <li><a href='javascript:showSpans()'>span</a></li>
              <li><a href='javascript:elementsInspector()'>element</a></li>
              <li><a href='/servertekniker/php/funktioner/index.php'>&lt;&aring;ter&gt;</a></li>
            </ul></dd>
          </dl>
          <dl>
            <dt>resurser:</dt>
            <dd><ul>
              <li><a href='../../../resurser/latin1/index.php'>latin1</a></li>
              <li><a href='http://www.utf8-chartable.de/unicode-utf8-table.pl?unicodeinhtml=dec&amp;htmlent=1'>utf-8</a></li>
              <li><a href='../../../resurser/216rgb/index.php'>#rgb</a></li>
              <li><a href='http://www.nada.kth.se/dataterm/'>dataterm</a></li>
              <li><a href='http://acronyms.thefreedictionary.com/'>f&ouml;rk.</a></li>
              <li><a href='http://www.quirksmode.org/css/contents.html'>css-kompat.</a></li>
            </ul></dd>
          </dl>
          <ul>
            <li><script type='text/javascript'>void document.write(innerWindowDimensions());</script></li>
          </ul>
          <ul>
            <li><script type='text/javascript'>void document.write(heightOfPage());</script></li>
          </ul>
        </div> <!-- favelets -->

        <hr class='hidden'>
        <div id='copyright'>
          <p>&#169;&nbsp;1995-2010 <a href='http://www.physto.se/~hvzm/'>Hans&nbsp;M&uuml;hlen</a></p>
          <p>Kontaktadress:&nbsp;hvzm<span class='snabela'>&nbsp;</span>physto.se</p>
          <p>Kurserna ges&nbsp;av <a href='http://www.physto.se/'>Fysikum</a> vid&nbsp;<a href='http://www.su.se/'>Stockholms universitet</a>.</p>
          <p><a href='../../../cookies/index.php'>Vi&nbsp;anv&auml;nder&nbsp;cookies</a>.</p>
        </div>

        <div id='select-style' class='flik'>
          <dl>
            <dt class='stilval-rubrik'>v&auml;lj&nbsp;stilmall:</dt>
            <dd><ul>
              <li class='stilval-item'><abbr title='enkel'>U</abbr></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?stilval=meny" title='v&auml;lj stil: v&auml;nsterspalt'>M</a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?stilval=boxed" title='v&auml;lj stil: blurb-in-box'>B</a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?stilval=print" title='v&auml;lj stil: utskrivbar version'>P</a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?stilval=text" title='v&auml;lj stil: ren text'>X</a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?stilval=nocss" title='v&auml;lj stil: utan stilmall, webbl&auml;sarens defaultstil'>&#172;</a></li>
            </ul></dd>
          </dl>
        </div> <!-- select-style -->

        <div id='select-font' class='flik'>
          <dl>
            <dt class='stilval-rubrik'>v&auml;lj&nbsp;typsnitt:</dt>
            <dd><ul>
              <li class='stilval-item'><abbr title='trebuchet (sansserif)'>r</abbr></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?fontval=verdana" title='v&auml;lj typsnitt: verdana (sansserif)'><em>v</em></a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?fontval=tahoma" title='v&auml;lj typsnitt: tahoma (sansserif)'><em>a</em></a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?fontval=impact" title='v&auml;lj typsnitt: impact (sansserif)'><em>i</em></a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?fontval=georgia" title='v&auml;lj typsnitt: georgia (serif)'><em>g</em></a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?fontval=times" title='v&auml;lj typsnitt: times (serif)'><em>t</em></a></li>
              <li class='stilval-item'><a href="/servertekniker/php/funktioner/index.php?fontval=courier" title='v&auml;lj typsnitt: courier (monospace)'><em>c</em></a></li>
            </ul></dd>
          </dl>
        </div> <!-- select-font -->

        <p id='updated'>Senast&nbsp;uppdaterad&nbsp;9&nbsp;oktober&nbsp;2007</p>

        <hr class='hidden'>
          <div class='hidden'>
<div class='vcard'>
  <span class='fn'>Hans M&uuml;hlen</span>
  <div class='org'>
    <span class='organization-name'>Stockholms universitet</span>
    <span class='organization-unit'>Fysikum</span>
  </div>
  <div class='adr'>
    <span class='type'>postal</span>
    <span class='type'>work</span>
    <span class='street-address'>Roslagstullsbacken 21</span>
    <br><span class='postal-code'>106 91</span>
    <span class='locality'>Stockholm</span>,
    <span class='country-name'>Sverige</span>
  </div>
  <div class='tel'>Tel: 
    <span class='type'>work</span>    <span class='value'>+46 8 5537 8423</span>
   </div>
  <div class='tel'>Fax: 
    <span class='type'>fax</span>
    <span class='type'>work</span>
    <span class='value'>+46 8 5537 8601</span>
   </div>
  <div class='email'>E-post: 
    <span class='type'>work</span>    <span class='value'>hvzm<span class='snabela'>&nbsp;</span>physto.se</span>
   </div>
  Hemsida: <span class='url'><a href='http://www.physto.se/~hvzm/'>www.physto.se/~hvzm</a></span>
</div>
          </div>

          <div class='hidden'>
<div class='vcard'>
  <div class='org fn'>
    <span class='organization-name'>Stockholms universitet</span>
    <span class='organization-unit'>Fysikum</span>
  </div>
  <div class='adr'>
    <span class='type'>postal</span>
    <span class='type'>work</span>
    <span class='street-address'>Roslagstullsbacken 21</span>
    <br><span class='postal-code'>106 91</span>
    <span class='locality'>Stockholm</span>,
    <span class='country-name'>Sverige</span>
  </div>
  <div class='adr'>
    <span class='type'>parcel</span>
    <span class='type'>work</span>
    <span class='street-address'>Roslagsv&auml;gen 30 B</span>
    <br><span class='postal-code'>104 06</span>
    <span class='locality'>Stockholm</span>,
    <span class='country-name'>Sverige</span>
  </div>
  <div class='tel'>Tel: 
    <span class='type'>work</span>    <span class='value'>+46 8 5537 8444</span>
   </div>
  <div class='tel'>Fax: 
    <span class='type'>fax</span>
    <span class='type'>work</span>
    <span class='value'>+46 8 5537 8601</span>
   </div>
  Hemsida: <span class='url'><a href='http://www.physto.se/'>www.physto.se</a></span>
</div>
          </div>
        <div class='ruta-avsluta-spalter'></div>

      </div> <!-- block-colophon -->

      <div id='block-direction'>

        <div id='orientering-oversikt' class='flik'>
          <p>[<a href='../../../kursinfo/kursmaterial/index.php'>&ouml;versikt</a>]</p>
        </div> <!-- orientering-oversikt -->

        <div id='orientering-utskrivbar' class='flik'>
          <p>[<a href='/servertekniker/php/funktioner/index.php?p=1'>utskrivbar</a>]</p>
        </div> <!-- orientering-utskrivbar -->

        <div id='orientering-prevnext' class='flik'>
          <p><a href='../felhantering/index.php' class='prevnext-prev'>f&ouml;reg&aring;ende</a>&nbsp;<span class='prevnext-sektion'>kapitel&nbsp;17</span>&nbsp;<a href='../filer/index.php' class='prevnext-next'>n&auml;sta</a></p>
        </div> <!-- orientering-prevnext -->

      </div> <!-- block-direction -->

      <div id='block-appendix'>
        <div id='appendix-dropshadow'></div>
        <div id='appendix-pageextension'></div>
      </div> <!-- block-appendix -->

    </div> <!-- block-container -->

  </body>

</html>