Meny
Är gratis
checka in
den huvudsakliga  /  Multimedia / Studie av de grundläggande PHP-syntaxreglerna. Grunderna PHP.

Studerar de grundläggande PHP-syntaxreglerna. Grunderna PHP.

Allmänna begrepp

PHP-språk är speciellt utformat för webbprogrammering. PHP kombinerar fördelarna med C- och Perl-språk, och samtidigt är det väldigt lätt att studera och har betydande fördelar på traditionella programmeringsspråk.

PHP-syntaxen är mycket lik den syntaxen för C-språket och lånas i stor utsträckning från sådana språk som Java och Perl.

Programmeraren med ett mycket snabbt långvarigt php-språk och kan använda det med maximal effektivitet.
I princip finns i PHP nästan alla operatörer och funktioner som är tillgängliga i standard GNU med (eller deras analoger), till exempel, det finns cykler (medan, för), valoperatörer (om, omkopplare), funktion av att arbeta med filsystem och processer (Fopen, * Dir, Stat, Unlink, Pene, Exec), I / O-funktioner (FYs, FUTS, PRINTF) och många andra ...

Syftet med detta avsnitt är en kort introduktion till PHP-språksyntaxen. Mer detaljerad information Enligt den specifika komponenten i PHP-syntax hittar du i de relevanta sektionerna.

PHP och HTML

Sinkxis av något programmeringsspråk är mycket lättare att "känna" på exemplen, istället för att använda vissa diagram och system. Därför ger vi ett exempel på det enklaste skriptet på PHP:



Exempel

eko. "Hej, jag är ett PHP-skript!";
?>


Du har nog märkt att detta är ett klassiskt skript från vilket programmeringsspråket startas.

Observera att HTML-koden är korrekt bearbetad av PHP-tolken.

Skriptets början kan förbryllas: är det ett skript? Varifrån HTML-taggar och ? Här ligger det huvud funktion (Förresten, det extremt lämpliga) PHP-språket: PHP-skriptet får inte skilja sig alls från det vanliga HTML-dokumentet.

Varsågod. Du gissade nog att skriptkoden själv börjar efter att taggen öppnas Och slutar stängning ?> . Så, mellan dessa två taggar tolkas texten som ett program och faller inte i HTML-dokumentet. Om programmet behöver dra tillbaka något, ska det använda ekooperatören.

Så, PHP är ordnad så att någon text som ligger utanför programvaran blockerar och ?> , visas direkt i webbläsaren. Detta är huvuddraget i PHP, i motsats till Perl och C, där utmatningen utförs med hjälp av standardoperatörer.

Separation av instruktioner

Instruktioner separeras såväl som i C eller Perl - varje uttryck slutar med en semikolon.

Avslutande taggen (?\u003e) Innebär också slutet på instruktionen, därför följande två fragment av ekvivalenterna:

echo "Detta är ett test";
?>

Kommentarer B. PHP-skript

Skriva nästan vilket skript som helst gör inte utan kommentar.

PHP stöder kommenter i stil med "C", "C ++" och UNIX-skalet. Till exempel:

echo "Detta är ett test"; // Detta är en enda linje kommentar i stil med C ++
/ * Detta är en multi-line-kommentar
En annan kommentarsträng * /
eko. "Detta är ett annat test";
Echo "sista test"; # Den här kommentaren i stilen av Shell Unix
?>

Enkla kommentarer går bara till slutet av raden eller det aktuella PHP-kodblocket, beroende på vad som går före dem.

Det exempel.


Titel på toppen visar "detta exempel."

Var försiktig, följ bristen på kapslade "C" -comments, de kan visas under kommentar till stora block:

/*
Echo "Detta är ett test"; / * Den här kommentaren kommer att orsaka problem * /
*/
?>

Enkla kommentarer går bara till slutet av raden eller det aktuella PHP-kodblocket, beroende på vad som går före dem. Betyder det att HTML-koden efter //?\u003e Kommer att skrivas ut:?\u003e Visar från PHP-läge och återgår till HTML-läget, men // tillåter inte det att göra.

Variabler i php.

Variabelnamn anges med tecknet $ . Samma "Hej, jag är ett PHP-skript!" Du kan få enligt följande:

$ Meddelande \u003d. "Hej, jag är ett PHP-skript!";
echo $ meddelande;
?>

Datatyper i PHP

PHP stöder åtta enkla datatyper:

Fyra skalartyper:

Boolean (binär data)
- Integer (heltal)
- Float (Floating Point eller "Dubbel" Numbers)
Sträng

Två blandade typer:

Array (arrays)
- Objekt (Objekt)

Och två speciella typer:

resurs (resurser)
Null ("tom")

Det finns också flera pseudotyper:

Blandad (blandad)
- Nummer (nummer)
- Återuppringning (återuppringning)

Detaljer om datatyper i PHP

Uttryck i PHP.

De viktigaste formerna av uttryck är konstanter och variabler. Till exempel, om du skriver "$ a \u003d 100", tilldelar du "100" variabel $ a:

I exemplet på $ a är det här en variabel, \u003d är en uppdragsoperatör och 100 är ett uttryck. Dess värde är 100.

Ett uttryck kan vara en variabel om den är förknippad med en viss betydelse:

$ x \u003d 7;
$ y \u003d $ x;

I den första raden av det ansedda exemplet är uttrycket en konstant 7, och i den andra linjen - variabeln $ X, eftersom Tidigare tilldelades hon ett värde av 7. $ Y \u003d $ X är också ett uttryck.

I detalj om uttryck i PHP hittar du

PHP-operatörer

Operatören kallas något som består av ett eller flera värden (uttryck, om vi talar om programmering av jargong), som kan beräknas som ett nytt värde (sålunda kan hela designen betraktas som ett uttryck).

Exempel på PHP-operatörer:

Ansökningsoperatörer:

$ a \u003d ($ b \u003d 4) + 5; // Resultat: $ A är inställt med värdet 9, variabeln $ B är tilldelad 4.

?>

Kombinerade operatörer:

$ a \u003d 3;
$ a + \u003d 5; // Ställer upp $ A med ett värde av 8, på samma sätt som inspelningen: $ a \u003d $ a + 5;
$ B \u003d "hej";
$ b. \u003d "där!" ; // sätter $ b sträng "Hej där!", Som $ b \u003d $ b. "Där!";

?>

Strängoperatörer:

$ a \u003d "hej";
$ b \u003d $ a. "VÄRLD!" ; // $ b innehåller en sträng "Hello World!"

$ a \u003d "hej";
$ a. \u003d "värld!" ; // $ a innehåller strängen "Hello World!"
?>

Det finns också logiska operatörer och jämförelsesoperatörer, men de är vanliga att överväga i samband med språkens kontrollstrukturer.

Detaljerad information av pHP. Operatörer hittar du .

PHP-språkhanteringsdesign

Huvuddesignerna på PHP-språket är:

  1. Villkorliga operatörer (om, annat);
  2. Cykler (medan, gör-medan, för, foreach, paus, fortsätt);
  3. Urvalsdesign (strömbrytare);
  4. Förklara mönster (deklarera);
  5. Returnera designvärden (retur);
  6. Inkluderingar (kräver, inkludera).

Exempel på PHP-språkdesign:

om ($ a\u003e $ b) echo "Värdera en större än B";
?>

Exemplet ovan visar användningen av designen. om. Tillsammans med jämförelsesoperatören ($ a\u003e $ b).

I följande exempel, om variabeln $ A. Inte lika med noll, strängen kommer att visas "Värde ett sant (TRUE), det vill säga interaktionen mellan den villkorliga operatören (design) om med en logisk operatör visas:

om ($ a) echo "Värde en sann (sann)";
?>

Och här är ett exempel på en stund cykel:

$ x \u003d 0;
medan ($ x ++< 10 ) echo $ x ;
// Visar 12345678910
?>

Information om alla chefer pHP Designs du kan få

Anpassade funktioner i PHP

På alla programmeringsspråk finns subrutiner. På C-språket kallas de funktioner, i assembler - subrutiner, och i Pascal finns det två typer av subrutiner: procedurer och funktioner.

I PHP är sådana subrutiner.

Delprogrammet är ett speciellt exekverat fragment av det program som du kan kontakta var som helst inom programmet. Delprogram förenklar signifikant liv för programmerare, förbättrad läsbarhet källkod, såväl som att minska det, eftersom enskilda kodfragment inte behöver skriva flera gånger.

Låt oss ge ett exempel på en användarfunktion till PHP:

funktion FUNCT () (
$ a \u003d 100;
Echo "

$ A.

" ;
}
funct ();

?>

Skriptet visar 100:

Anpassade funktioner i PHP kan överföras argument och mottagningsvärde som returneras av funktionerna.

Detaljerad information om PHP-användarfunktioner kan hittas.

Inbyggda (standard) PHP-funktioner

PHP innehåller ett stort antal inbäddade funktioner som kan utföra uppgifter om olika nivåer av komplexitet.

OOP och PHP.

PHP är nog bra stöd Objektorienterad programmering (OOP).

I PHP kan du skapa klasser olika nivåer, Objekt och flexibla själva för att fungera.

Här pHP Exempel Klass och dess användning:

// Skapa en ny Coor-klass:
klass Coor (
// data (egenskaper):
var $ namn;

// Metoder:
funktion getName () (
Echo "

John.

" ;
}

}

// Skapa ett Coor-klassobjekt:
$ Objekt \u003d ny coor;
// Vi får tillgång till klassmedlemmar:
$ Objekt -\u003e namn \u003d "Alex";
echo $ objekt -\u003e namn;
// visar "Alex"

Det finns fortfarande frågor eller något oförståeligt - välkommen till vår

I vilket fall utförs cykelåtgärdsenheten
för (expr1; expr2; expr3) (
// Block Action
}

√ Om det andra uttrycket (expr2) beräknas som sant
Om det första uttrycket (expr1) beräknas som sant
Om det tredje uttrycket (expr3) beräknas som sant

Visa alla delar av en array $ ARR \u003d array (4,3,2,1);?
√ Föreach ($ ar som $ a) echo "$ a";

för ($ i \u003d 1; $ i<$arr; $i++) echo $arr[$i] .»»;

√ $ i \u003d 0;
Medan ($ ar [$ i]) (
Echo $ ar [$ i]. "";
$ i ++;
}

Dan Array $ ARR. Visa det tredje elementet i arrayen på skärmen, om den är lika med nummer 3.
Om ($ ar \u003d\u003d 3) Echo $ ARR;
?>

Om ($ ar \u003d\u003d 3) Echo $ ARR;
?>

Om ($ ar \u003d 3) echo $ ar;
?>

Dan Array $ ARR. För att visa det fjärde elementet i matrisen om det motsvarar den 4-strängen.
Om ($ ar \u003d\u003d "3") Echo $ ARR;
?>

Om ($ ar \u003d\u003d\u003d "4") Echo $ ARR;
?>

Om ($ ar \u003d\u003d "4") Echo $ ARR;
?>

Danateam:
om ($ var) eko "hej";
annars echo "bye";
I vilket fall visas ordet "BYE" på skärmen?

√ om $ var \u003d\u003d\u003d false
Om $ var \u003d\u003d "sant"
√ om $ var \u003d\u003d ""

Dana Team: Om (! $ Var) echo "hej"; Faktum är att ordet "hej" kommer att visas på skärmen?
Om $ var \u003d\u003d sant
√ Om $ var konverteras till logiskt falskt
√ Om $ var \u003d 0

Vad kan php användas för?
för att skapa operativsystem
√ för att skapa skript som löper in kommandorad
√ Skapa klient GUI-applikationer

Varför kan inte php inte kan användas?
√ Att skapa operativsystem
Att skapa skript som körs på kommandoraden
För att skapa klient GUI-applikationer

Det är känt att inställningar PHP. Du kan spara / ändra inte bara i php.ini, men också i PHP-skript själva, i filer.htaccess och i filen httpd.conf Server-inställningar. Var kan jag ställa in värdet på alternativet Register_Globals?
I användarens skript
i php.ini, i användarskript eller i file.htaccess
√ i php.ini, i filen.htaccess eller httpd.conf

Det är känt att PHP-inställningar kan sparas / ändras inte bara i php.ini, men också i PHP-skript själva, i filer.htaccess och i filen httpd.conf Server-inställningar. Var kan jag ställa in värdet på session.auto_start-alternativet?
√ I användarens skript
√ i php.ini eller httpd.conf
√ i filen.htaccess

Det är känt att PHP-inställningar kan sparas / ändras inte bara i php.ini, men också i PHP-skript själva, i filer.htaccess och i filen httpd.conf Server-inställningar. Var kan jag ställa in värdet på användar_dir-alternativet?
I användarens skript
√ Endast i php.ini eller httpd.conf
i filen.htaccess.

Hur är PHP inbäddad i HTML-kod?
√ Använda taggar "
√ Använda taggar "
Använda taggar "<$’ и ‘$>’

Hur är kommentarer i PHP?
√ // rad av kommentarer
√ / * Flera rader av kommentarer * /
/ flera rader av kommentarer /
** Row of Comments **

Hur kan jag fråga en array i PHP?
√ $ ARR \u003d Array ("A", "B", "C");
√ $ ARR \u003d "A";
$ ARR ("0" \u003d\u003e "A");
$ ARR ["A", "B", "C"] \u003d "Q";

Hur kan jag ange en sträng i PHP?
√ med hjälp dubbel citat: $ var \u003d "det här är en sträng";
med hjälp av öppningssymbolen "<<<‘ и закрывающего ‘>>>’:
$ var \u003d.<<< это строка >>>;
√ Med hjälp av enkla citat: $ var \u003d 'det här är en sträng';
√ Heredoc-syntax:
$ var \u003d.<<

Hur får man ett värde av de konstant som heter Cons i PHP?
$ Nackdelar
Definiera ("nackdelar", sant);
√ Nackdelar
√ konstant ("nackdelar")

Hur är värdet till PHP?
√ definiera ("nackdelar", "text");
√ definiera ("nackdelar", "text", sant);
Nackdelar \u003d "Text"
Konstant ("Cons") \u003d "Text"

Hur är värdet av variabeln i PHP?
√ $ var \u003d 1;
Varnamn \u003d "Text";
$ 12As \u003d 12;

Hur är instruktioner i PHP?
√ med symbolen ";"
Använda "#" -symbolen
med symbolen " med hjälp av en gapsymbol

Vilka om operatörerna spelas in korrekt ur syntaxpunkten?
√ om ($ par \u003d\u003d "") (
Echo "lite text";
$ PAR + \u003d 1;
}

√ Om ($ par \u003d\u003d ""):
Echo "lite text";
$ PAR + \u003d 1;
Endif;

om ($ par \u003d "") (
Echo "lite text";
$ PAR + \u003d 1;
) Annars: echo "en annan text";
Endif;

Vilken av switch-sändningarna spelas in korrekt ur syntaxpunkten?

Fall "1": echo "1";
Ha sönder;
Fall 2: Echo 2;
Ha sönder;
Endswitch;

1: Echo "1";
2: Echo 2;
}


Fall "1": echo "1";
Fall 2: Echo 2;
Standard: Echo 3;
}

Vilka av de uttalanden som gäller alternativ operatör är korrekta?
√ Inkludera används för att möjliggöra innehållet i en annan fil.
√ Inkludera körkoden som anges i den så många gånger som den här operatören finns i programmet
Filen som ingår i inkluderningen måste vara den högra HTML-filen.

Vilket av de uttalanden som är i förhållande till den krävande operatören är korrekta?
√ Kräv används för att inkludera innehållet i en annan fil.
När det används i de villkorliga blocken behöver kravet inte komma in i lockiga fästen
√ Kräv exekvera den angivna filen i den bara en gång

Vilket medan cykler spelas in korrekt ur syntaxpunkten?
Echo $ a;
$ a ++;
ända

√ medan ($ a< $b):
Echo $ a;
$ a ++;
ända

√ medan ($ a< $b){
Echo $ a;
$ a ++;
}

Vilka programmeringsparadigmer stöder PHP?
√ Objektororienterad
√ Procedural
Funktionell

Vilka steg måste göras för att installera Apache-webbservern med installationsprogrammet?
√ Kör installationsprogrammet, godkänna licensen, ställa in domännamn, servernamn, e-postadministratör, välj installationstyp, välj mappen för att installera servern, starta installationsprocessen

starta installationsprogrammet, godkänna licensen, ställa in domännamn, servernamn, välj installationstyp, välj mappen för att installera servern, starta installationsprocessen

kör installationsprogrammet


för ($ j \u003d 1; 😉
{
$ i \u003d runda (9 / $ j);
Byt ($ i)
{
Fall 5: echo "+";
Ha sönder;
Fall 9: echo "-";
Ha sönder;
Fall 3: echo "!";
Bryta 2;
Standard: Echo $ i;
Ha sönder;
}
$ J ++;
}
?>
___________

fel syntax
√ -+!
+-!
oändlig cykel

Vad kommer att vara resultatet av följande program
för ($ j \u003d 1;)
{
$ i \u003d runda (9 / $ j);
Byt ($ i)
{
Fall 5: echo "+";
Ha sönder;
Fall 9: echo "-";
Ha sönder;
Fall 3: Echo "! J \u003d $ J,";
Fortsätt 2;
Standard: Echo $ i;
Ha sönder;
}
$ J ++;
}
?>
____________

fel syntax
-+!
+-!
√ Oändlig cykel

Vilken operatör anger jämlikhet av värden i PHP?
===
√ ==
=
:=

När värdet av det första (expr1) och de andra (expr2) uttryck i cykeln beräknas
för (expr1; expr2; expr3) (
// Block Action
}

expr1 - En gång i början av cykeln, Expr2 - en gång efter slutförandet av alla iterationer av cykeln

expr1 - Varje gång i början av nästa iteration av cykeln, expr2 - varje gång i slutet av iterationen av cykeln

√ expr1 - en gång i början av cykeln, expr2 - varje gång i slutet av iterationen av cykeln

Skriv ett program som visar "feta" bokstäver (tagg ) Strängen "Välkommen!" Använda PHP-språk.
Echo "Välkommen!";
?>


Echo "Välkommen!";
?>

Echo "Välkommen!";
?>

Notera de skalära datatyperna som är i PHP?
√ sträng
TEXT.
√ Boolean.
Resurs
√ Float.

Med vilken operatör du kan utföra olika åtgärder beroende från villkoret?
√ om.
För
√ Switch

Med vilken design du kan utföra periodiskt åtgärdsblock tills tillståndet är rätt?
√ oss medan cykeln
Med hjälp av den villkorliga operatören om
√ c för forcykelcykeln

Vad är skillnaden mellan pausoperatören från Fortsätt-operatören?
√ Break slutar utförandet av den aktuella cykeln och fortsätt - den aktuella iterationen av cykeln

break används för att tvinga cykler stopp och fortsätt - för villkorliga operatörer

fortsätt kan inte ringas med ett ytterligare numeriskt argument och bryta burk

Vad är skillnaden mellan PHP-språkskriptet från JavaScript-skriptet?
Ingen skillnad
sätt att bädda in i HTML-kod
√ Javascript-skriptet behandlas av en klient och en PHP-skriptserver

Vad är skillnaden mellan krav och inkluderar operatörer?
ingenting
√ I händelse av ett inkluderande fel uppstår det en varning, och kräver ett dödligt fel
Kräva kan inte användas inom cykler och inkludera - du kan

Hur skiljer sig den medan cykeln skiljer sig från Do .. 5.
ingenting
√ Gör .. när Cycle Actions block är garanterat en gång.
Medan man bara utför ett åtgärdsblock en gång

Vad kommer att vara det variabelt $ resultatet som ett resultat av följande program
$ värde \u003d array ("0", "", "1");
Foreach ($ värde som $ v) (
Om (! $ v) $ resultat \u003d sant;
Annars $ resultat \u003d false;
}
?>

√ Array (\u003d\u003e sant \u003d\u003e sant \u003d\u003e false)
Array (\u003d\u003e sant \u003d\u003e sant \u003d\u003e sant)
Falskt, falskt, sant

Vad får vi som ett resultat av bearbetningsindex.php-filtolk?
7. Vars.php-fil:
$ a \u003d 1;
?>
File index.php:
för ($ i \u003d 0; $ i< 3; $I++)
{
Inkludera ("vars.php");
Echo $ a ++;
}
?>
________
12
123
1234
√ 111

Fil
Fil Vars.PhP:
$ a ++;
?>

File index.php:
$ a \u003d 0;
för ($ i \u003d 0; $ i< 3; $I++)
{
Kräva ("vars.php");
Echo $ a;
}
?>
__________
√ 123
0
1
Fel

Filindex.. pHP.: pHP. $ a. =
File index.php:
$ a \u003d 0;
för ($ i \u003d 0; $ i< 3; $I++)
{
Om (File_Exists ("Vars.PhP")) kräver ("Vars.PhP");
Echo $ a;
}
?>
________
123
√ 000
1
Fel

Vad som behöver göras för att konfigurera PHP för att fungera med Apache-servern (PHP är installerad som en servermodul)?
Lägg till i httpd.conf rader:


Addmodule mod_php4.c.

√ Installera i php.ini doc_root variabler, user_dir och tillägg_dir och lägg till linjer till httpd.conf:
LoadModule php4_module c: /php/sapi/php4apache.dll
ADDTYPE APPLICATION / X-HTTPD-PHP .PHP .phtml
Addmodule mod_php4.c.

installera i php.ini doc_root, user_dir och tillägg_dir variabler och lägg till httpd.conf linjer:
Scriptalias / PHP / "C: / PHP /"
ADDTYPE APPLICATION / X-HTTPD-PHP .PHP .phtml
Åtgärdsansökan / X-httpd-php "/php/php.exe"

Vad du behöver göra för att komma i webbläsaren: "PHP Works: Hej"
Du skapade en PHP-filtyp:
PHP fungerar:
om (1.< 0) echo «привет»;
?>

√ Inget, eftersom en sådan linje inte är resultatet av detta skript.

Vad är Apache-serverrot och var är det standard (för Windows-system)?
√ Serverrot är en katalog, vars filer behandlas av servern. För Windows-system är det beläget i "C: / Programfiler / Apache Group / Apache / HTDOCS"

detta är en katalog där alla PHP-servrarskript finns. För Windows-system är det beläget i "C: / Programfiler / Apache Group / Apache / HTDOCS"

detta är en katalog där alla dokument som servern måste bearbeta är placerade. För Windows-system finns det i "C: / Programfiler / Apache Group / Apache /"

Vad är användarkatalogen på servern och var är det standard (för Windows-system)?
√ Den här katalogen som är allokerad till användaren för personliga behov, vars filer behandlas av servern om den tar emot en förfrågan typ ~ användare. Beläget i "C: / Programfiler / Apache Group / Apache / Users /"

den här katalogen som tilldelats användaren för personliga behov, vars filer behandlas av servern. Beläget i "C: / Programfiler / Apache Group / Apache / HTDOCS / Users /"

den här katalogen som är allokerad till användaren för personliga behov, vars filer aldrig behandlas av servern. Beläget i "C: / Programfiler / Apache Group / Apache / Users /"

det här är den katalog som är allokerad till användaren för personliga behov, vars filer behandlas av servern om den tar emot en förfrågan typ ~ användare. Beläget i "C: / Programfiler / Apache Group / Apache / HTDOCS / Users /"

PHP-syntaxen lånas direkt från C. Java och Perl påverkade också syntaxen på detta språk.

Övergång från HTML.

Det finns tre sätt att lämna HTML och byta till "PHP-kodläge":

Separation av instruktioner

Instruktioner (godkännande) är uppdelade som i C eller Perl-semikolon.

Avslutande TEG (?\u003e) Innebär också slutet på godkännandet, så följande poster är ekvivalenta:

Typer av variabler

PHP stöder variabler av följande typer:

  • heltal - helhet
  • dubbelrum - Antal med fraktionerad del
  • string-strängvariabel
  • array - massiv
  • objekt - Objektvariabel
  • pDFDOC - PDF-dokument (endast med PDF-support)
  • pDFINFO - PDF-info (endast med PDF-support)

Typ av variabel är vanligtvis inte installerad av programmeraren; Istället bestäms det av PHP under genomförandet av programmet, beroende på det sammanhang där denna variabel används.

Om du vill ange vilken typ av variabel direkt kan du använda instruktionerna för detta eller en funktion.

Observera att variabeln kan uppträda på olika sätt i vissa situationer, beroende på vilken typ som definieras för den vid denna tidpunkt. Detta beskrivs närmare i avsnittet.

Initialisering av variabeln

För att initiera variabeln i PHP, tilldelar du helt enkelt värdet till det. För de flesta variabler är det exakt hur; För arrays och objektvariabler kan emellertid en något annorlunda mekanism användas.

Initialisering av vapen

En array kan initialiseras av ett av två sätt: sekventiell uppgift av värden, eller genom design (som beskrivs i avsnittet).

Med en sekventiell tillsats av värden i en array skriver du helt enkelt värdena för matriselementen med ett tomt index. Varje efterföljande värde kommer att tillsättas som det sista elementet i matrisen.

$ Namn \u003d "jill"; // $ namn \u003d "Jill" $ namn \u003d "Jack"; // $ namn \u003d "Jack"

Som i C och Perl är elementen i matrisen numrerade från 0, och inte med 1.

Initialisering av objekt

För att initiera objektvariabeln, använd en ny instruktion för att matcha det här objektet med objektvariabeln.

Klass foo (funktion do_foo () (eko "gör foo.";)) \u200b\u200b$ Bar \u003d Ny Foo; $ bar -\u003e do_foo ();

Område av variabel

Det variabla området är det sammanhang inom vilket det definieras. Huvudsakligen har alla PHP-variabler ett område. Men inom de användare som definieras av användaren presenteras lokalområdet. Eventuell variabel definierad inuti funktionen är som standard begränsad av det lokala funktionsområdet. Till exempel:

$ a \u003d 1; / * Global Domain * / Function Test () (Echo $ a; / * Referens till variabeln i det lokala området * /) test ();

Detta skript kommer inte att ge någonting vid utgången, eftersom ekoinstruktionen hänvisar till den lokala versionen av den $ en variabel, vars värde inte är tilldelat inte inom detta område. Du kanske märker att det finns viss skillnad från C-språk, det faktum att globala variabler i C automatiskt fungerar och inuti funktionerna, såvida de inte skrivs om de lokala definitionerna. Det kan orsaka vissa problem, för Genom försumlighet kan du ändra den globala variabeln. I PHP bör globala variabler förlängas globalt inuti funktionen om deras användning i den här funktionen antas. Till exempel:

$ a \u003d 1; $ b \u003d 2; Funktionsbelopp () (Global $ a, $ b; $ b \u003d $ a + $ b;) summa (); Echo $ b;

Ovanstående skript visar värdet "3". Eftersom $ A och $ B förklaras globalt inuti funktionen, tolkas referenser till dessa variabler som hänvisningar till sina globala versioner. Det finns inga restriktioner för antalet globala variabler som kan manipuleras i funktionen.

Det andra sättet att komma åt variablerna från det globala området är att använda den speciella Acelled PHP-array $ globals. Samtidigt kan det föregående exemplet registreras som:

$ a \u003d 1; $ b \u003d 2; Funktionsbelopp () ($ Globals ["B"] \u003d $ Globals ["A"] + $ Globals ["B"];) Summa (); Echo $ b;

$ Globals Array är en associativ array där namnet på den globala variabeln är nyckeln, och värdet av denna variabel är värdet av matriselementet.

En annan viktig egenskap hos det variabla definitionområdet är statisk variabel. Den statiska variabeln finns endast i området i området, men det förlorar inte sitt värde när programmet, när det kört, lämnar detta område. Tänk på följande exempel:

Funktionstest () ($ a \u003d 0; echo $ a; $ a ++;)

Den här funktionen är helt värdelös praktiskt, eftersom varje gång det kallar det installerar $ a i 0 och visar "0". Uttrycket $ A ++, vilket ökar värdet på variabeln, är lika värdelöst, sedan vid utmatning från funktionen, försvinner variabeln $ a. För att ge källan på räkningsfunktionen, som inte skulle förlora gängan på det aktuella kontot, förklaras variabeln $ A som statisk:

Funktionstest () (statisk $ a \u003d 0; echo $ a; $ a ++;)

Nu, varje gång du ringer på testet (), kommer den att visa värdet på $ A och öka det.

Statiska variabler är också mycket signifikanta när funktioner orsakas rekursivt. Rekursiva funktioner är de som orsakar sig själva. Göra en rekursiv funktion behöver noggrant, för Med felaktig skrivning kan du göra en rekursion på obestämd tid. Du måste vara övertygad om huruvida uppsägningsmetoden är tillräcklig. Nästa enkla funktion räknas rekursivt till 10:

Funktionstest () (statisk $ count \u003d 0; $ count ++; echo $ räkna; om ($ räkna< 10) { Test (); } $count--; }

Bytbara variabler

Ibland kan det vara bekvämt att ge variabla variabla namn. Sådana namn kan variera dynamiskt. Den vanliga förändringen är fastställd enligt följande:

Den variabla variabeln tar lite värde och bearbetar det som ett variabelt namn. I ovanstående exempel är värdet hej. Den kan användas som ett variabelt namn genom att använda två inspelade i en rad dollartecken, dvs:

Ur denna synvinkel definieras två variabler och sparas i PHP-symboliskt träd: $ A med innehållet i "Hello" och $ Hej med innehållet "World". Så, instruktioner:

Echo "$ a $ ($ a)";

Övningar samma som instruktionen:

Echo "$ A $ HELLO";

namnlösa: Båda drar nämligen: hej världen.

För att använda variabla variabler med arrays är det nödvändigt att lösa problemet med tvetydighet. Det betyder att om du skriver $ a, måste du veta syntaxanalysatorn, menar du att använda $ A som en variabel, eller du antar $$ A som en variabel men som ett index för denna variabel. Syntax för upplösningen av sådan tvetydighet, till exempel: $ ($ a) för det första fallet och $ ($ a) för den andra.

Variabler utanför PHP.

HTML-formulär (få och post)

När formhanteringen är ett PHP-skript, är variablerna i denna blankett automatiskt tillgängliga för detta PHP-skript. Tänk på följande formulär:

Exempel 5-2. Enkel variabel form

Namn:

När du aktiverar PHP-formuläret skapar ett variabelt $ -namn, vilket kommer att vara det innehåll som skrivits in i fältet Namn: Denna form.

PHP uppfattar också arrays i samband med variabler, men endast endimensionell. Du kan till exempel gruppera sammankopplade variabler tillsammans eller använda den här egenskapen för att bestämma värdena för variabler med flera val vid ingången:

Om PHP-attributet Track_Vars är påslagen genom konfigurations- eller direktivets installation , Då variablerna aktiverade med post eller få metoder kommer också att vara i globala associativa $ http_post_vars respektive $ http_Get_vars arrays.

Namn på variabelteckning av aktivering

När du aktiverar (lansering) kan du använda ritningen (bild) istället för standardstartsknappen, i taggen som liknar detta:

När en användare trycker på musknappen var som helst i ett sådant mönster, överförs den bifogade formuläret till servern med två ytterligare variabler, sub_x och sub_y. De innehåller koordinaterna för musknappens plats inom den här bilden. Det kan noteras att praktiskt taget de riktiga namnen på de variabla variablerna som sänds av webbläsaren innehåller en punkt i stället för understrykning, men PHP omvandlar punkten automatiskt till ett understreck (understryk).

Http cookies

PHP stöder uppenbarligen HTTP-kakor enligt definitionen i. Cookies är en datalagringsmekanism i en fjärrbläddrare som används för att stödja utbytes- eller identifieringsförfarandet för användarens svar. Cookies kan installeras med funktionen . Cookies är en del av HTTP-rubriken, så funktionen måste ringas innan någon överförd data skickas till webbläsaren. Detta är samma gräns som för en funktion. . Alla cookies som skickas till dig av klienten omvandlas automatiskt till PHP-variabler, liksom dessa få och efter metoder.

Om du behöver tilldela flera värden till en matlagning, lägg bara till kvadratkonsoler till kocknamnet. Till exempel:

SetCookie ("MyCookie", "Testing", Time () + 3600);

Observera att aktuella cookies kommer att ersätta den föregående med samma namn i din webbläsare, om inte sökvägen eller domänen inte är annorlunda. Därför, när du arbetar med korttjänstprogram, kan du använda mätaren för att spara dessa data och skicka det värdena ytterligare etc.

Exempel 5-4. Exempel på SetCookie-funktionen

$ Räkna ++; SetCookie ("Count", $ Count, Time () + 3600); SetCookie ("Cart [$ count]", $ objekt, tid () + 3600);

Variabel miljö

PHP skapar automatiskt miljövariabler som de vanliga variablerna.

Echo $ hem; / * Visar hemmiljövariabeln om den är installerad. * /

Även om informationen är mottagen, skapar get, post- och cookie-mekanismerna också PHP-variabler, ibland bättre att läsa miljöpåvaran för att vara säker på att få sin korrekta version. För den här funktionen kan användas . För att ställa in värdet på miljövariabeln, använd funktionen .

Serverkonfigurationsdirektiv

Ändra typ

PHP kräver inte en explicit typdefinition när man förklarar en variabel, den variabla typen bestäms av det sammanhang där den används. Det vill säga om du tilldelar strängvärdet för variabeln var. , var. blir en sträng. Om du tilldelar en variabel var. Värdet av det hela (antalet), då blir det hela.

Ett exempel på automatisk typomvandling i PHP kan fungera som en additionator "+". Om någon av operanderna är en del med en bråkdel (typ dubbel), är alla operander klassade som dubbla och resultatet kommer att ha en typ av dubbel. I annat fall kommer dessa operander att tolkas som heltal (heltal) och resultatet kommer också att ha typ av heltal. Observera att de typer av operander själva inte förändras, ändras endast bedömningen av dessa operander.

$ Foo \u003d "0"; // $ FOO är en sträng (ASCII 48) $ FOO ++; // $ FOO är en sträng "1" (ASCII 49) $ FOO + \u003d 1; // $ foo är nu en hel (2) $ foo \u003d $ foo + 1.3; // $ foo har nu en typ av dubbel (3.3) $ foo \u003d 5 + "10 små piggies"; // $ foo är en hel (15) $ foo \u003d 5 + "10 små grisar"; // $ foo är en hel (15)

Om du vill att den variabel tvingades utvärderas som en viss typ, se avsnittet. Om du vill ändra vilken typ av variabel, se

Senast uppdaterad: 1.11.2015

När du skapar det första programmet på PHP, var några grundläggande principer för att skapa skript i PHP redan rörd. Nu, överväga dem mer detaljerat.

Ett program eller ett skript på PHP är vanligtvis beläget i expansionsfilen. .PHP.. Även om utvecklare också kan infoga PHP-koden och filer med tillägg. .html / .htm..

När användaren vädjar till skriptet i webbläsarens adressfält, uppringning, till exempel, http: // localhost: 8080 / Display.phpWebbservern sänder den till PHP-tolken. Tolken behandlar sedan koden och genererar HTML-markup på basis. Och sedan skickas den genererade HTML-koden till användaren.

PHP-dokument kan innehålla både HTML-märkning och PHP-kod. För att flytta från HTML-markering till PHP-koden används taggar Det finns PHP-kod. Dessa taggar fungerar som tolk som deras innehåll måste tolkas som PHP-kod, inte HTML-markering.

Du kan också använda en kort version av taggar: . Att göra detta i filen php.ini. Behöver ändra värdet short_open_tag \u003d av på short_open_tag \u003d på

Tänk på det enklaste skriptet på PHP:

Hemsida Hej världen!

"; Echo" 2 + 2 \u003d ". (2 + 2);?\u003e

Efter att ha bearbetat filen kommer tolken att bilda följande markering:

Hemsida

Hej världen!

2 + 2 = 4

Två ECHO-instruktioner används här.

Hej världen!

"Och eko" 2 + 2 \u003d ". (2 + 2), som tar ett visst värde på sidan. Varje separat instruktion i PHP är färdig med en semikolon.

Märke PHP.

När PHP behandlar filen letar den efter att öppna och stänga taggar, som vilket indikerar PHP när du startar och avslutar kodbehandlingen mellan dem. En sådan bearbetningsmetod tillåter PHP att vara inbäddad i alla typer av olika dokument, eftersom allt är utanför paret av öppnings- och stängningskoderna ignoreras

pARSER PHP.

PHP medger också korta taggar Det är dock oönskat att använda dem, eftersom de endast är tillgängliga om de ingår med hjälp av php.ini-konfigurationsdirektivet short_open_tageller om PHP har konfigurerats med alternativet -Able-short-tags .

Om filen innehåller endast PHP-kod är det att föredra att utelämna stängningskoden i slutet av filen. Detta bidrar till att undvika att lägga till slumpmässiga symboler på utrymmet eller översättningssträngen efter den PHP-stängningsmärke som kan fungera som oönskade effekter, eftersom PHP börjar mata ut data i bufferten när det inte finns någon avsikt från programmeraren att mata ut några data vid denna tidpunkt av skriptet.

Isolerad från html

Allt som ligger utanför paret av öppnings- och stängningstaggar,

den ignoreras av PHP-tolken, som har möjlighet att bearbeta filer med blandat innehåll. Detta gör det möjligt för PHP-koden att vara inbäddad i HTML-dokument, till exempel för att skapa mallar.

DetpHP kommer att ignoreras och visas av webbläsaren.

Detta kommer också att ignoreras av PHP och visas av webbläsaren.

Det fungerar som förväntat eftersom när PHP-tolken uppfyller stängningskoderna?\u003e, Börjar han bara mata ut allt som inte hittas förrän den andra öppningsetiketten kommer att hittas utom ärendet med den villkorliga operatören som finns i koden, där tolk bestämmer resultatet av tillståndet innan de antar lösningar som hoppar över.

Använder strukturer med förhållanden

Detta kommer att visas om uttrycket är verkligen. I det här fallet visas detta.

Exempel №1 avancerad isolering med användning av förhållanden

I det här exemplet hoppar PHP-block, där tillståndet inte respekteras. Även trots att de är utanför paret av öppnings- / stängande taggar, kommer PHP att sakna dem i enlighet med tillståndet, eftersom PHP-tolken kommer att hoppa över blocken som ingår i det tillstånd som inte respekteras.

Vid utmatning av stora textblock är utmatningen från PHP-syntax-parseringsläget oftare att skicka text med funktioner. eko. eller skriva ut..

Det finns fyra uppsättningar taggar som kan användas för att ange en PHP-kod. Av dessa, bara två och ) Alltid tillgänglig. Andra två är korta taggar och ASP-etiketter som kan sättas på eller av i en konfigurationsfil. php.ini.Även om kort taggar och taggar i ASP-stilen kan vara bekväm, tolereras de inte så som långa versioner, och rekommenderas därför inte. Dessutom, om du har för avsikt att lägga in PHP-koden i XML eller XHTML för att matcha XML-standarder, bör du använda formuläret .

1. 2. 3. Det är synonym för "" 4. <% echo "Вы можете по выбору использовать теги в стиле ASP"; %> <%= $variable; # Это синоним для "<% echo . . ." %>

Korta taggar (tredje exempel) är endast tillgängliga när de ingår med direktivet short_open_tagi en konfigurationsfil php.ini.eller om PHP har sammanställts med alternativet -Able-short-tags.

Asp Style Taggar (fjärde exempel) är endast tillgängliga när de ingår med direktivet asp_tagsi en konfigurationsfil php.ini.

Kommentar:

Användningen av kort taggar bör undvikas när man utvecklar applikationer eller bibliotek som är avsedda för distribution eller placering på PHP-servrar, inte under din kontroll, eftersom kort taggar kanske inte stöds på målservern. För att skapa en bärbar, kompatibel kod, använd inte kort taggar.

Separation av instruktioner

Som i C eller Perl kräver PHP slutet på anvisningarna med en punkt i kommatecken i slutet av varje instruktion. Avslutande taggen i PHP-kodblocket tillämpar automatiskt en semikolon; de där. Inget behov av att lägga en punkt med ett komma i slutet av det sista blocket i PHP-koden. Blockets avslutande tagg "kommer att absorbera" omedelbart efter det att den övergår till en ny linje, om den detekteras.

Kommentar:

Klockmärket för PHP-blocket i slutet av filen är inte obligatorisk, och i vissa fall sänker det det är ganska användbart, till exempel när du använder Incartewequire, så att oönskade utrymmen inte kommer att förbli i slutet av filen och du Kan fortfarande lägga till HTTP-rubriker efter anslutning till svarsservern. Det är också bekvämt när du använder utmatningsbufferten, där det också är oönskat att ha mellanslag i slutet av svardelarna som genereras av plug-in-filerna.

Kommentarer

PHP stöder kommentarer i stil med "C", "C ++" och UNIX-skalet (Perl-stilen). Till exempel:

Enkla kommentarer går bara till slutet av raden eller det aktuella PHP-kodblocket, beroende på vad som går före dem. Det betyder att HTML-kod efter // ... ?> eller # ... ?> Kommer att skrivas ut: ?> fyller på PHP-läge och returnerar HTML-läget och // eller # Kan inte påverka det. Om direktivet är aktiverat asp_tags, samma beteende kommer att vara med // %> och # %> . Men tagg Slutar inte PHP-läge i engångs kommentar.

Det exempel

Titel på toppen visar "detta exempel."

"C" -comments är färdiga vid den första sekvensen detekterad */ . Se till att du inte investerar "C" -comments. Det är väldigt enkelt att tillåta detta fel när du kommenterar ett stort kodblock.

Operatörer: Jämförelser

$ A.== $ B.// Sann.om en $ A.lika $ b.

$ A.=== $ B.// sant om $ a är $ b och har det

samma typ

$ A.!= $ B.// sant om $ a är inte $ b.

$ A.!== $ B.// sant om $ a är inte $ b eller i

fall om de är olika typer.

$ A.< $ B.// sant om $ a är strängt mindre än $ b.

$ A.> $ B.// sant om $ en strängt mer $ b.

$ A.<= $ B.// sant om $ a är mindre än eller lika med $ b.

$ A.>= $ B.// sant om $ a är större än eller lika med $ b.

Operatörer: Logik

$ A.och.$ B.// Sann.om enoch $ aoch $ B TRUE.

$ A.eller.$ B.// Sann.om eneller $ aeller $ B.

! $ A.// Sann.om en $ A.inte Sann.

$ A.&& $ B.// Sann.om enoch $ aoch $ B TRUE.

$ A.|| $ B.// Sann.om eneller $ aeller $ B.

$ A.och.$ B.och.$ C; $ A.och.$ B.eller.$ C.

$ A.och.($ B.och.$ C.)  $ A.och.$ B.&& $ C.

$ A.och.($ B.eller.$ C.)  $ A.och.$ B.|| $ C.

Datatyper

PHP stöder åtta enkla typer.

Fyra skalartyper:

    float (flytande punktnummer, även känt asdouble)

Två blandade typer:

Två speciella typer:

Som regel ställer programmeraren inte typen av variabel; Detta gör vanligtvis PHP under programmet, beroende på det sammanhang där variabeln används.

Kommentar:

Om du vill kontrollera typ och värde för ett bestämt uttryck, användvar_dump ().

Om du behöver felsöka bara en läsbar typvisning, användgettype (). För att kontrollera efter en viss typ,inte Använda sig avgettype (), Ansök om dettais_type Funktioner.

Om du vill tvinga ändra typen av variabel, kan du antingen klargöra eller använda funktionen settyp ().

Observera att variabeln, beroende på dess typ i det här ögonblicketI vissa situationer kan det finnas olika betydelser.

Boolel typ

Detta är den enklaste typen. booleska.uttrycker värdet om värdet. Han kan vara heller Sann. eller Falsk.

Att ange boolean, användning nyckelord Sant eller falskt. Både register-oberoende.

Vanligtvis någon operatör booleska. Värdet som styrstrukturen överförs senare.

\\ n ";) // ... eftersom följande har samma mening: om ($ show_separators) (echo"


\\ n ";)?\u003e

För explicit omvandling till booleska., använda sig av (BOOL) eller (Boolean). Men i de flesta fall är typen av typ valfri, eftersom värdet automatiskt konverteras om operatören, funktion eller kontrollkonstruktion kräver booleska. argument.

Vid omvandling av B. booleska. Följande värden anses vara Falsk:

    boleanfalse värde själv

    integer0 (noll)

    float0.0 (noll)

    tom sträng, istroke "0"

    massiva element

    oblekbound fält (endast för php 4)

    särskild typ null (inklusive oidentifierade variabler)

    Simplexml objekt skapade från tomma taggar

Alla andra värden anses vara Sann. (inklusive någon resurssåväl som nummer -1).

Heltal

Heltal är ett antal set ℤ \u003d (..., -2, -1, 0, 1, 2, ...).

Groen kan anges i ett decimaltal, hexadecimalt eller oktaöst talsystem, eventuellt med ett föregående tecken (eller +).

Om du använder ett OCTAL-nummer-system måste du förhindra nummer 0 (noll), för att använda det hexadecimala systemet du måste lägga framför 0x-numret.

Exempel nummer 1

Storleken på det hela beror på plattformen, men i regel det maximala värdet på cirka två miljarder (detta är en 32-bitars ikon). PHP stöder inte unsigned heltal.

Överskott storleken på det hela

Om du definierar ett nummer som överstiger gränserna för en heltalstyp, tolkas det som ett flytande punktnummer. Också, om du använder operatören, vars resultat kommer att vara det antal som överstiger gränserna för det hela, kommer numret med en flytande punkt att returneras istället.

Det finns ingen hela divisionoperatör i PHP. Resultat 1/2 det kommer att finnas ett flytande punktnummer 0.5 . Du kan värdera värdet för en hel, som alltid rundar det på en mindre sida, eller använd funktionen runda ().

Flytande punktnummer

Flytande punktnummer (de är samma antal dubbla noggrannhet eller giltiga nummer) kan bestämmas med hjälp av någon av följande syntaxer:

Strängen är en uppsättning tecken. I PHP är symbolen densamma som byte, det betyder att det är möjligt exakt 256 olika tecken. Det betyder också att PHP inte har inbyggt Unicode-support "a. Vissa stöd Unicode" A ger UTF8_DenCode-funktionerna ().

Kommentar:

Det finns inga problem om strängen är mycket hög. Det finns praktiskt taget inga restriktioner för storleken på de linjer som PHP som PHP, så det finns absolut ingen anledning att oroa sig för deras längd.

Strängen kan bestämmas på tre olika sätt.

    singel citat

    dubbel citat