Top 100 PHP-interviewspørgsmål og -svar (PDF)

Her er PHP-interviewspørgsmål og svar til både friskere og erfarne kandidater til at få deres drømmejob.

 

PHP-interviewspørgsmål til nybegyndere


1) Hvad er PHP?

PHP er et websprog baseret på scripts, der giver udviklere mulighed for dynamisk at skabe genererede websider.


2) Hvad står initialerne i PHP for?

PHP står for Hypertext Pre-processor.

👉 Gratis PDF-download: PHP-interviewspørgsmål og -svar


3) Hvilket programmeringssprog ligner PHP?

PHP-syntaks ligner Perl og C


4) Hvad står PEAR for?

PEAR betyder "PHP Extension and Application Repository". Det udvider PHP og giver et højere niveau af programmering for webudviklere.


5) Hvad er den faktisk brugte PHP-version?

Version 7.1 eller 7.2 er den anbefalede version af PHP.


6) Hvordan udfører du et PHP-script fra kommandolinjen?

Brug blot PHP-kommandolinjegrænsefladen (CLI) og angiv filnavnet på det script, der skal udføres, som følger:
php script.php


7) Hvordan kører man den interaktive PHP-shell fra kommandolinjegrænsefladen?

Brug blot PHP CLI-programmet med muligheden -a som følger:
php -a


8) Hvad er den korrekte og de to mest almindelige måde at starte og afslutte en PHP-kodeblok på?

De to mest almindelige måder at starte og afslutte et PHP-script på er:

 <?php [   ---  PHP code---- ] ?> and <? [---  PHP code  ---] ?>

9) Hvordan kan vi vise output direkte til browseren?

For at kunne vise output direkte til browseren, skal vi bruge de specielle tags .


10) Hvad er den største forskel mellem PHP 4 og PHP 5?

PHP 5 præsenterer mange ekstra OOP (Objektorienteret programmering) funktioner.


11) Er multipel nedarvning understøttet i PHP?

PHP understøtter kun enkelt arv; det betyder, at en klasse kan udvides fra kun én enkelt klasse ved at bruge nøgleordet 'udvidet'.


12) Hvad er meningen med en afsluttende klasse og en afsluttende metode?

'final' er introduceret i PHP5. Endelig klasse betyder, at denne klasse ikke kan udvides, og en endelig metode ikke kan tilsidesættes.


13) Hvordan foregår sammenligningen af ​​objekter i PHP?

Vi bruger operatoren '==' til at teste, om to objekter er instanset fra samme klasse og har samme attributter og lige værdier. Vi kan teste om to objekter refererer til den samme instans af samme klasse ved at bruge identitetsoperatoren '==='.


14) Hvordan kan PHP og HTML interagere?

Det er muligt at generere HTML gennem PHP scripts, og det er muligt at videregive stykker information fra HTML til PHP.


15) Hvilken type handling er nødvendig, når værdier sendes gennem en formular eller en URL?

Hvis vi gerne vil sende værdier gennem en formular eller en URL, skal vi kode og afkode dem ved hjælp af htmlspecialchars() og urlencode().


16) Hvordan kan PHP og Javascript interagere?

PHP og Javascript kan ikke interagere direkte, da PHP er et sprog på serversiden og Javascript er et sprog på klientsiden. Vi kan dog udveksle variabler, da PHP kan generere Javascript kode, der skal udføres af browseren, og det er muligt at sende specifikke variabler tilbage til PHP via URL'en.


17) Hvad skal der til for at kunne bruge billedfunktion?

GD-bibliotek er nødvendigt for at udføre billedfunktioner.


18) Hvad er brugen af ​​funktionen 'imagetypes()'?

imagetypes() giver billedformatet og -typerne understøttet af den aktuelle version af GD-PHP.


19) Hvilke funktioner skal bruges til at få billedets egenskaber (størrelse, bredde og højde)?

funktioner er getimagesize() for størrelse, imagesx() for bredde og imagesy() for højden.


20) Hvordan håndteres fejl i udførelsen med funktionerne include() og require()?

Hvis funktionen require() ikke kan få adgang til filen, så ender den med en fatal fejl. Imidlertid include() funktionen giver en advarsel, og PHP-scriptet fortsætter med at køre.


21) Hvad er hovedforskellen mellem require() og require_once()?

require()og require_once() udføre den samme opgave, bortset fra at den anden funktion kontrollerer, om PHP-scriptet allerede er inkluderet eller ej, før det udføres.

(samme for include_once() og include())


22) Hvordan kan jeg vise tekst med et PHP-script?

To metoder er mulige:

<!--?php echo "Method 1"; print "Method 2"; ?-->

23) Hvordan kan vi vise information om en variabel, som kan læses af et menneske med PHP?

For at kunne vise et menneskelæsbart resultat bruger vi print_r().


24) Hvordan er det muligt at indstille en uendelig eksekveringstid for PHP script?

Set_time_limit(0) tilføjet i begyndelsen af ​​et script indstiller til uendelig udførelsestidspunkt for ikke at have PHP-fejlen 'maksimal udførelsestid overskredet.' Det er også muligt at angive dette i filen php.ini.


PHP interview spørgsmål og svar til erfarne

25) Hvad betyder PHP-fejlen 'Parse-fejl i PHP – uventet T_variabel på linje x'?

Dette er en PHP-syntaksfejl, der udtrykker, at en fejl ved linjen x stopper parsing og eksekvering af programmet.


26) Hvad skal vi gøre for at kunne eksportere data til en Excel-fil?

Den mest almindelige og brugte måde er at få data ind i et format, der understøttes af Excel. Det er fx muligt at skrive en .csv-fil, vælge fx komma som skilletegn mellem felter og derefter åbne filen med Excel.


27) Hvad er funktionen file_get_contents() nyttig til?

file_get_contents() lader læse en fil og gemme den i en strengvariabel.


28) Hvordan kan vi oprette forbindelse til en MySQL database fra et PHP-script?

For at kunne oprette forbindelse til en MySQL database, skal vi bruge mysqli_connect() funktion som følger:

<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->

29) Hvad er funktionen mysql_pconnect() nyttig til?

mysql_pconnect() sikre en vedvarende forbindelse til databasen, betyder det, at forbindelsen ikke lukker, når PHP-scriptet slutter.

Denne funktion er ikke understøttet i PHP 7.0 og nyere


30) Hvordan håndteres resultatsættet af Mysql i PHP?

Resultatsættet kan håndteres ved hjælp af mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object eller mysqli_fetch_row.


31) Hvordan er det muligt at kende antallet af returnerede rækker i resultatsættet?

funktionen mysqli_num_rows() returnerer antallet af rækker i et resultatsæt.


32) Hvilken funktion giver os antallet af berørte poster af en forespørgsel?

mysqli_affected_rows() returnere antallet af poster, der er påvirket af en SQL-forespørgsel.


33) Hvad er forskellen mellem mysqli_fetch_object() og mysqli_fetch_array()?

mysqli_fetch_object() funktion samler den første single matchende post hvor mysqli_fetch_array() samler alle matchende poster fra tabellen i et array.


34) Hvordan kan vi få adgang til de data, der sendes via URL'en med GET-metoden?

For at få adgang til de data, der sendes via GET-metoden, bruger vi $_GET-array som dette:

www.url.com?var=value
$variable = $_GET["var"]; this will now contain 'value'

35) Hvordan kan vi få adgang til de data, der sendes via URL'en med POST-metoden?

For at få adgang til de data, der sendes på denne måde, bruger du $_POST-arrayet.

Forestil dig, at du har et formularfelt kaldet 'var' på formularen, når brugeren klikker på send til postformularen. Du kan derefter få adgang til værdien som denne:

$_POST["var"];

36) Hvordan kan vi kontrollere, at værdien af ​​en given variabel er et tal?

Det er muligt at bruge den dedikerede funktion, is_numeric() til at kontrollere, om det er et tal eller ej.


37) Hvordan kan vi kontrollere, at værdien af ​​en given variabel er alfanumerisk?

Det er muligt at bruge den dedikerede funktion, ctype_alnum til at kontrollere, om det er en alfanumerisk værdi eller ej.


38) Hvordan kontrollerer jeg, om en given variabel er tom?

Hvis vi vil tjekke om en variabel har en værdi eller ej, er det muligt at bruge funktionen empty().


39) Hvad betyder unlink()-funktionen?

Funktionen unlink() er dedikeret til filsystemhåndtering. Det sletter simpelthen filen, der er angivet som post.


40) Hvad betyder unset()-funktionen?

Funktionen unset() er dedikeret til variabelstyring. Det vil gøre en variabel udefineret.


41) Hvordan undslipper jeg data, før jeg gemmer dem i databasen?

Addslashes-funktionen gør det muligt for os at undslippe data før lagring i databasen.


42) Hvordan er det muligt at fjerne escape-tegn fra en streng?

Stripslashes-funktionen gør det muligt for os at fjerne escape-tegnene før apostroferne i en streng.


43) Hvordan kan vi automatisk undslippe indgående data?

Vi er nødt til at aktivere indgangen Magic quotes i PHPs konfigurationsfil.


44) Hvad betyder funktionen get_magic_quotes_gpc()?

Funktionen get_magic_quotes_gpc() fortæller os, om de magiske anførselstegn er slået til eller ej.


45) Er det muligt at fjerne HTML-tags fra data?

Funktionen strip_tags() gør det muligt for os at rense en streng fra HTML-tags.


46) hvad er den statiske variabel i funktion nyttig til?

En statisk variabel defineres kun i en funktion første gang, og dens værdi kan ændres under funktionskald som følger:

<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction();        //1 testFunction();        //2 testFunction();        //3 ?-->

47) Hvordan kan vi definere en variabel tilgængelig i funktioner i et PHP-script?

Denne funktion er mulig ved at bruge det globale søgeord.


48) Hvordan er det muligt at returnere en værdi fra en funktion?

En funktion returnerer en værdi ved hjælp af instruktionen 'return $value;'.


49) Hvad er den mest bekvemme hashmetode, der skal bruges til at hash kodeord?

Det er at foretrække at bruge crypt() som native understøtter flere hashing-algoritmer eller funktionen hash() som understøtter flere varianter end crypt() frem for at bruge de almindelige hashing-algoritmer såsom md5, sha1 eller sha256, fordi de er tænkt som hurtige. Derfor kan hashing af adgangskoder med disse algoritmer skabe sårbarhed.


50) Hvilken kryptografisk udvidelse giver generering og verifikation af digitale signaturer?

PHP-OpenSSL udvidelse giver flere kryptografiske operationer, herunder generering og verifikation af digitale signaturer.


PHP interviewspørgsmål for 5 års erfaring

51) Hvordan defineres en konstant i et PHP-script?

Define()-direktivet lader os definere en konstant som følger:

define ("ACONSTANT", 123);

52) Hvordan kan du videregive en variabel ved reference?

For at kunne sende en variabel ved reference, bruger vi et og-tegn foran den, som følger $var1 = &$var2


53) Vil en sammenligning af et heltal 12 og en streng "13" fungere i PHP?

"13" og 12 kan sammenlignes i PHP, da det caster alt til heltalstypen.


54) Hvordan er det muligt at caste typer i PHP?

Navnet på outputtypen skal angives i parentes før variablen, som skal castes som følger:

* (int), (heltal) – cast til heltal

* (bool), (boolsk) – støbt til boolsk

* (flyde), (dobbelt), (ægte) – støbt til at flyde

* (streng) – støb til snor

* (array) – cast til array

* (objekt) – støbt til objekt


55) Hvornår afsluttes en betinget erklæring med endif?

Når originalen if blev efterfulgt af: og derefter kodeblokken uden klammeparenteser.


56) Hvordan bruges den ternære betingede operator i PHP?

Det er sammensat af tre udtryk: en betingelse og to operander, der beskriver, hvilken instruktion der skal udføres, når den angivne betingelse er sand eller falsk som følger:

Expression_1?Expression_2 : Expression_3;

57) Hvad bruges funktionen func_num_args() til?

Funktionen func_num_args() bruges til at angive antallet af parametre, der sendes til en funktion.


58) Hvis variablen $var1 er sat til 10 og $var2 er sat til tegnet var1, hvad er værdien af ​​$$var2?

$$var2 indeholder værdien 10.


59) Hvad betyder det at få adgang til en klasse via ::?

:: bruges til at få adgang til statiske metoder, der ikke kræver objektinitialisering.


60) I PHP sendes objekter efter værdi eller ved reference?

I PHP sendes objekter ved reference.


61) Kaldes forældrekonstruktører implicit inde i en klassekonstruktør?

Nej, en overordnet konstruktør skal kaldes eksplicit som følger:

parent::constructor($value)

62) Hvad er forskellen mellem __søvn og __vågning?

__sleep returnerer arrayet af alle de variable, der skal gemmes, mens __wakeup henter dem.


63) Hvad er hurtigere?

1- Kombinere to variable som følger:

$variable1 = 'Hello ';

$variable2 = 'World';

$variable3 = $variable1.$variable2;

Or

2- $variable3 = "$variable1$variable2";

$variable3 vil indeholde "Hello World". Den første kode er hurtigere end den anden kode, især for store store datasæt.


64) hvad er definitionen af ​​en session?

En session er et logisk objekt, der gør det muligt for os at bevare midlertidige data på tværs af flere PHP-sider.


65) Hvordan starter man en session i PHP?

Brugen af ​​funktionen session_start() lader os aktivere en session.


66) Hvordan kan du udbrede et sessions-id?

Du kan udbrede et sessions-id via cookies eller URL-parametre.


67) Hvad er meningen med en persistent cookie?

En persistent cookie gemmes permanent i en cookie-fil på browserens computer. Som standard er cookies midlertidige og slettes, hvis vi lukker browseren.


68) Hvornår slutter sessioner?

Sessioner slutter automatisk, når PHP-scriptet er færdigt med at udføre, men kan afsluttes manuelt ved hjælp af session_write_close().


69) Hvad er forskellen mellem session_unregister() og session_unset()?

Funktionen session_unregister() afregistrerer en global variabel fra den aktuelle session, og funktionen session_unset() frigør alle sessionsvariabler.


70) Hvad betyder $GLOBALS?

$GLOBALS er et associativt array inklusive referencer til alle variabler, som i øjeblikket er defineret i scriptets globale omfang.


PHP interviewspørgsmål for 10 års erfaring

71) Hvad betyder $_SERVER?

$_SERVER er et array, der inkluderer information oprettet af webserveren, såsom stier, overskrifter og scriptplaceringer.


72) Hvad betyder $_FILES?

$_FILES er et associativt array sammensat af elementer sendt til det aktuelle script via HTTP POST-metoden.


73) Hvad er forskellen mellem $_FILES['userfile']['name'] og $_FILES['userfile']['tmp_name']?

$_FILES['brugerfil']['navn'] repræsenterer det originale navn på filen på klientmaskinen,

$_FILES['brugerfil']['tmp_name'] repræsenterer det midlertidige filnavn på filen, der er gemt på serveren.


74) Hvordan kan vi få fejlen, når der er et problem med at uploade en fil?

$_FILES['brugerfil']['error'] indeholder fejlkoden forbundet med den uploadede fil.


75) Hvordan kan vi ændre den maksimale størrelse på de filer, der skal uploades?

Vi kan ændre den maksimale størrelse af filer, der skal uploades, ved at ændre upload_max_filesize i php.ini.


76) Hvad betyder $_ENV?

$_ENV er en associativ række af variabler sendt til det aktuelle PHP-script via miljømetoden.


77) Hvad betyder $_COOKIE?

$_COOKIE er en associativ række af variabler, der sendes til det aktuelle PHP-script ved hjælp af HTTP-cookies.


78) Hvad betyder omfanget af variabler?

Omfanget af en variabel er den kontekst, inden for hvilken den er defineret. For det meste har alle PHP-variabler kun et enkelt omfang. Dette enkelte omfang spænder også over inkluderede og nødvendige filer.


79) hvad er forskellen mellem 'BITWISE AND'-operatoren og 'LOGICAL AND'-operatoren?

$a og $b: TRUE, hvis både $a og $b er TRUE.

$a & $b: Bit, der er sat i både $a og $b, er sat.


80) Hvad er de to hovedstrengoperatorer?

Den første er sammenkædningsoperatoren ('.'), som returnerer sammenkædningen af ​​dens højre og venstre argumenter. Den anden er ('.='), som føjer argumentet til højre til argumentet til venstre.


81) Hvad betyder array-operatoren '==='?

$a === $b TRUE hvis $a og $b har de samme nøgle/værdi-par i samme rækkefølge og af samme type.


82) Hvad er forskellen mellem $a != $b og $a !== $b?

!= betyder ulighed (TRUE hvis $a ikke er lig med $b) og !== betyder ikke-identitet (TRUE hvis $a ikke er identisk med $b).


83) Hvordan kan vi afgøre, om en PHP-variabel er et instansieret objekt af en bestemt klasse?

For at kunne verificere om en PHP-variabel er et instansieret objekt af en bestemt klasse bruger vi instanceof.


84) Hvad er goto-sætningen nyttig til?

Goto-sætningen kan placeres for at muliggøre spring inde i PHP-programmet. Målet peges af en etiket efterfulgt af et kolon, og instruktionen er angivet som en goto-sætning efterfulgt af den ønskede måletikett.


85) hvad er forskellen mellem Exception::getMessage og Exception:: getLine?

Exception::getMessage lader os få undtagelsesmeddelelsen, og Exception::getLine lader os få den linje, hvor undtagelsen opstod.


86) Hvad betyder udtrykket Exception::__toString?

Exception::__toString giver String-repræsentationen af ​​undtagelsen.


87) Hvordan er det muligt at parse en konfigurationsfil?

Funktionen parse_ini_file() gør det muligt for os at indlæse ini-filen angivet i filnavnet og returnerer indstillingerne i den i et associativt array.


88) Hvordan kan vi afgøre, om en variabel er sat?

Den booleske funktion isset bestemmer, om en variabel er indstillet og ikke er NULL.


89) Hvad er forskellen mellem funktionerne strstr() og stristr()?

Strengfunktionen strstr(streng allString, streng occ) returnerer en del af allString fra den første forekomst af occ til slutningen af ​​allString. Denne funktion skelner mellem store og små bogstaver. stristr() er identisk med strstr() bortset fra, at der ikke skelnes mellem store og små bogstaver.


90) hvad er forskellen mellem for og foreach?

for udtrykkes således:

for (udtr1; udtr2; udtr3)

erklæring

Det første udtryk udføres én gang i begyndelsen. I hver iteration evalueres expr2. Hvis det er SAND, fortsætter løkken, og sætningerne inde for udføres. Hvis den evalueres til FALSK, slutter udførelsen af ​​løkken. expr3 testes i slutningen af ​​hver iteration.

Foreach giver dog en nem måde at iterere over arrays, og den bruges kun med arrays og objekter.


91) Er det muligt at indsende en formular med en dedikeret knap?

Det er muligt at bruge document.form.submit() funktion for at indsende formularen. For eksempel: <input type=button value="SUBMIT" onClick="document.form.submit()">


92) Hvad er forskellen mellem ereg_replace() og eregi_replace()?

Funktionen eregi_erstat() er identisk med funktionen ereg_erstat() bortset fra at den ignorerer forskel på store og små bogstaver, når der matches alfabetiske tegn.


93) Er det muligt at beskytte specialtegn i en forespørgselsstreng?

Ja, vi bruger urlencode()-funktionen for at kunne beskytte specialtegn.


94) Hvad er de tre klasser af fejl, der kan opstå i PHP?

De tre grundlæggende fejlklasser er meddelelser (ikke-kritiske), advarsler (alvorlige fejl) og fatale fejl (kritiske fejl).


95) Hvad er forskellen mellem tegnene \034 og \x34?

\034 er oktal 34 og \x34 er hex 34.


96) Hvordan kan vi føre variablen gennem navigationen mellem siderne?

Det er muligt at overføre variablerne mellem PHP-siderne ved hjælp af sessioner, cookies eller skjulte formularfelter.


97) Er det muligt at forlænge eksekveringstiden for et PHP-script?

Brugen af ​​set_time_limit(int sekunder) gør det muligt for os at forlænge eksekveringstiden for et PHP-script. Standardgrænsen er 30 sekunder.


98) Er det muligt at ødelægge en cookie?

Ja, det er muligt ved at indstille cookien med en tidligere udløbstid.


99) Hvad er standard sessionstid i PHP?

Standard sessionstid i php er indtil lukningen af ​​browseren


100) Er det muligt at bruge COM-komponent i PHP?

Ja, det er muligt at integrere (Distributed) Component Object Model-komponenter ((D)COM) i PHP-scripts, som leveres som en ramme.


101) Forklar, om det er muligt at dele en enkelt instans af en Memcache mellem flere PHP-projekter?

Ja, det er muligt at dele en enkelt forekomst af Memcache mellem flere projekter. Memcache er et lagerrum i hukommelsen, og du kan køre memcache på en eller flere servere. Du kan også konfigurere din klient til at tale med et bestemt sæt instanser. Så du kan køre to forskellige Memcache-processer på den samme vært, og alligevel er de fuldstændig uafhængige. Medmindre, hvis du har partitioneret dine data, så bliver det nødvendigt at vide, fra hvilken instans dataene skal hentes fra eller lægges ind i.


102) Forklar, hvordan du kan opdatere Memcached, når du laver ændringer i PHP?

Når PHP ændres, kan du opdatere Memcached af

  • Ryd cachen proaktivt: Rydning af cachen, når der foretages en indsættelse eller opdatering
  • Nulstilling af cachen: Det ligner den første metode, men snarere end blot at slette nøglerne og vente på den næste anmodning om, at dataene skal opdatere cachen, skal du nulstille værdierne efter indsættelsen eller opdateringen.

Disse interviewspørgsmål vil også hjælpe i din viva(orals)