Denna sida innehåller andra delen av lathund för PHP. Denna del behandlar de funktioner och globala variabler som finns tillgängliga i PHP. Listan på funktioner är inte komplett då det finns ca. 2000 funktioner i PHP (och databasfunktioner beskrivs på egen webbsida).
För en komplett beskrivning av PHP rekommenderas PHP-dokumentation på adressen www.php.net. Den finns att ladda ner som bl.a. en Windows-hjälpfil (.CHM).
Tanken med denna sida var att göra en referenslista för PHP - det har blivit en lite väl omfattande sida. :-) Därför har lathunden delats i två delar. Framöver kommer jag (antagligen) att göra exempel för de olika sakerna som finns på denna sida. (För den vetgiriga så innehöll denna webbsida ca. 300 rader med HTML-kod den 6/01-04.)
Nedan visas bara ett utdrag av funktioner, dess obligatoriska parametrar och en förklaring till vad dom gör. Några funktioner kan ta emot fler parametrar än som visas här. (Funktionerna presenteras på detta sätt för att t.ex. visa på vilka funktioner som finns. Se PHP-manual för en mer komplett beskrivning av funktionerna.) Funktionerna har delats upp i följande kategorier:
Klicka på funktionsnamnet för visa exempel.
date()
getdate()
mktime()
date()
för att skriva ut datum.strftime()
date()
dock!).strtotime()
date()
för att
skriva ut datum.time()
date()
för att skriva ut datum.Observera att datum brukar kunna ställa till problem! Datumformaten är olika i olika länder, t.ex. Sverige ([YY]YY-MM-DD), Storbritannien (DD/MM/YY) och USA (MM/DD/YY). Kontrollera därför hur datumen fungerar (vilket format dom har) på datorn du ska placera PHP-sidorna på!
Konvertering i PHP sker med cast-operatorer, d.v.s. precis som i Java. Det finns fyra datatyper som kan konverteras till: int, float, string och array.
$heltal = (int)$strang;
rand()
Nedanstående funktioner returnerar en ny (manipulerad) sträng, d.v.s. ursprunglig sträng är oförändrad.
htmlentities()
htmlspecialchars()
ltrim()
money_format()
setlocale()
.number_format()
printf()
rtrim()
sprintf()
str_pad()
str_replace()
strchr()
strstr()
.strlen()
strpos()
strrpos()
strpos()
fast börjar leta bakifrån.strstr()
substr()
trim()
Funktioner för att testa vad variabler innehåll, om något.
isset()
is_xxx()
xxx
med typ som ska kontrolleras, t.ex. is_array()
eller is_float()
).unset()
isset()
kommer returnera
falskt).Vektorer är en inbyggd datatyp och vi kan använda funktioner för att t.ex. sortera innehåll i vektorer. VI kan även använda en s.k. elementpekare för att hålla reda på aktuell position i vektor.
asort()
asort()
count()
current()
each()
key()
krsort()
ksort()
next()
prev()
reset()
rsort()
sort()
usort()
Till början på sida
PHP har ett antal globala variabler - vilka beror på hur PHP-motorn konfigurerats. De globala variablerna finns alltid tillgängliga via ett antal vektorer. Men om konfigurationsinställningen register_globals satts till "on" så finns dessa globala variabler tillgängliga som "vanliga" variabler. (Se bl.a. PHP och formulär.)
Många av de globala vektorerna innehåller samma data som andra vektorer. Nedan beskrivs de mest intressanta.
$_SERVER
$_GET
$_POST
$_COOKIE
$_REQUEST
$_GET
/$_POST
och $_COOKIE
.$_SESSION
$GLOBALS
Ytterligare vektorer är $_ENV
och $_FILES
.
I exempelsidor nedan så finns två formulär - ett som skickas med HTTP-GET och ett som skickas med HTTP-POST för att olika innehåll i vektorer ska kunna testas.
$_SERVER
Några av de värden som är av intresse finns bakom nedanstående index
'SCRIPT_NAME'
, 'URL'
, 'PHP_SELF'
'HTTP_REFERER'
'REMOTE_ADDR'
'REMOTE_HOST'
'PATH_TRANSLATED'
Se exempel.
$_GET
och $_POST
Dessa två vektorer innehåller data som skickats från formulär. D.v.s. innehållet i respektive vektor beror alltså på hur formulär skickats - HTTP-GET eller HTTP-POST, d.v.s. vektorerna motsvarande HTTP-GET resp. HTTP-POST.
Denna vektor innehåller index som motsvarar de fält som finns i
formulär. D.v.s. om vi har ett fält med namnet anvid
så kommer det
finnas ett motsvarande index med samma namn i denna vektor. Viktigt är att
använda rätt skiftläge (gemener och versaler) som namn på fält i formulär.
Se exempel.
Data i dessa vektorer kan även nås via vektorn $_REQUEST
(och på ett
lite krångligare sätt via vektorn $GLOBALS
- främst för
bakåtkompabilitet.)
$_COOKIE
Denna vektor innehåller index som motsvarar de cookies som skrivits till besökarens webbläsare. D.v.s. om vi skriver en cookie med namnet 'anvid' så kommer det finnas ett motsvarande index med samma namn i denna vektor. Viktigt är att använda rätt skiftläge (gemener och versaler) som namn på cookie.
Data i denna vektor kan även nås via vektorn $_REQUEST
(och på ett lite
krångligare sätt via vektorn $GLOBALS
- främst för bakåtkompabilitet.)
$_REQUEST
Se beskrivningar för vektorerna $_GET
/$_POST
och
$_COOKIE
.
Eftersom denna vektor innehåller både cookies och data från formulär så måste vi se till att vi inte använder samma namn på en cookie och ett fält i ett formulär om vi vill använda denna vektor.
Se exempel.
$_SESSION
Denna vektor innehåller eventuella värden på sessionsvariabler.
Som standard så aktiveras inte sessioner för alla besökare, vilket gör
att denna vektor inte alltid är tillgänglig (d.v.s. odefinierad). Detta
kan ändras i konfigurationsfilen (php.ini
- sätt session.auto_start
till 1) eller session manuellt startas med funktionen session_start()
.
$GLOBALS
Denna vektor innehåller som sagt de flesta andra data från övriga vektorer. Men några nås via andra sätt (bl.a. innehåll i formulär). Denna vektor finns främst kvar för bakåtkompabilitet.
De "namngivna" variablerna motsvarar namnen på index i variabler ovan.
Eftersom det är variabler så sätter vi ett dollartecken framför, t.ex. $SCRIPT_NAME
och $REMOTE_ADDR
som motsvarar samma index i vektorn $_SERVER
.
Bland dessa variabler så hittas även de som motsvarar fält i formulär.
D.v.s. om vi har ett fält med namnet anvid
så kommer det finnas en
motsvarande variabel med samma namn (med ett dollartecken före, d.v.s. $anvid
).
Viktigt är att använda rätt skiftläge (gemener och versaler) som namn på
fält i formulär.
Se exempel.
Genom att registrera dessa globala variabler så introducerar vi även en säkerhetsrisk, d.v.s. vi bör undvika dessa variabler.
(Se bl.a. PHP och formulär för hur denna typ av variabler fungerar med formulär.)
Till början på sida | Tillbaka till PHP
(Kommer... eller???)