Gå til innhold

function og tegnene []


Anbefalte innlegg

Skrevet

Jeg skal lage en function og skal ha variabler fra et form i functionen.

Så skulle jeg gjerne brukt noe alla denne:

 

function sjekk($_POST[ditt], $_POST[datt] )

 

men det blir problemer med tegnene [].

 

må jeg først:

 

$ditt = $_POST[ditt]; $datt = $_POST[datt];

 

eller finnes det en annen måte?

Videoannonse
Annonse
Gjest Slettet+142
Skrevet

function sjekk(){
$ditt = $_POST['ditt'];
$datt = $_POST['datt'];
}

Slik skal det vel gjøres. Så er kallet sjekk();

Skrevet (endret)

Eventuelt

PHP
<?php

function sjekk($ditt$datt){

// Sjekk ditt og datt

}

 

sjekk($_POST['ditt'], $_POST['datt']);

?>

Endret av itsmebth
Skrevet

Variablene du bruker inni ( og ) når du lager funksjonen trenger ikke å være de samme som de du angir som parametre når du kaller den.

 

Dessuten skal du bruke fnutter ( ' ) når bruker superglobaler. Det gjelder forøvrig alle assosiative array.

Skrevet (endret)

$_POST['datt'] = datt er array0key

$_POST["$datt"] = datt er en variabel

$_POST[datt] = datt er en konstant

Endret av Ståle
Skrevet
Ikke å anbefale, men du kan gjøre det slik

 

function sjekk() 
{
  global $_POST['ditt'], $_POST['datt'];
  return "pjatt";
}

8857582[/snapback]

 

$_POST er en "superglobal" og er derfor tilgjengelig uten å bruke global $_POST..

 

itsmebth sitt forslag er helt topp!

Skrevet (endret)
$_POST['datt'] = datt er array0key

$_POST["$datt"] = datt er en variabel

$_POST[datt] = datt er en konstant

8857144[/snapback]

 

I andre eksempel kan du klare deg fint uten fnutter, da det ikke nødvendigvis er en streng som er key til verdien du vil ha. :)

 

Siste eksempel (og det at veldig mange blander $_foo[bar] og $_foo['bar']) er et godt eksempel på at det alltid er lurt å ha en bestemt navnekonvensjon på variabler, konstanter, klasser og objekter. Om alle objekter i koden er definert i uppercase, alle variabler i lowercase og alle klasser med stor forbokstav, skal det mye til for å mikse dem eller skrive feil på den måten. :)

 

$variabel = 1;
echo KONSTANT;
$Object = new Class;

 

:)

Endret av jorgis

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...