PHP,PHP questions, answer,Technical PHP interview questions,PHP interview,PHP job questions
- What does a special set of tags(<?= and ?>) do in PHP?
The output is displayed directly to the browser. - What’s the difference between include and require?
It’s how they handle failures. If the file is not found by require(), it will cause a fatal error and halt the execution of the script. If the file is not found by include(), a warning will be issued, but execution will continue. - I am trying to assign a variable the value of 0123, but it keeps coming up with a different number, what’s the problem?
PHP Interpreter treats numbers beginning with 0 as octal. - Would I use print "$a dollars" or "{$a} dollars" to print out the amount of dollars in this example?
In this example it wouldn’t matter, since the variable is all by itself, but if you were to print something like "{$a},000,000 mln dollars", then you definitely need to use the braces. - How do you define a constant?
Via define() directive, like define ("MYCONSTANT", 100); - How do you pass a variable by value?
Just like in C++, put an ampersand in front of it, like $a = &$b - Will comparison of string "10" and integer 11 work in PHP?
Yes, internally PHP will cast everything to the integer type, so numbers 10 and 11 will be compared. - When are you supposed to use endif to end the conditional statement?
When the original if was followed by : and then the code block without braces. - Explain the ternary conditional operator in PHP?
Expression preceding the ? is evaluated, if it’s true, then the expression preceding the : is executed, otherwise, the expression following : is executed. - How do I find out the number of parameters passed into function? func_num_args() function returns the number of parameters passed in.
- If the variable $a is equal to 5 and variable $b is equal to character a, what’s the value of $$b?
100, it’s a reference to existing variable. - What’s the difference between accessing a class method via -> and via ::? - :: is allowed to access methods that can perform static operations, i.e. those, which do not require object initialization.
- Are objects passed by value or by reference?
Everything is passed by value. - How do you call a constructor for a parent class?
parent::constructor($value) - What’s the special meaning of __sleep and __wakeup?
__sleep returns the array of all the variables than need to be saved, while __wakeup retrieves them. - Why doesn’t the following code print the newline properly?
Because inside the single quotes the n character is not interpreted as newline, just as a sequence of two characters - and n. - Would you initialize your strings with single quotes or double quotes?
Since the data inside the single-quoted string is not parsed for variable substitution, it’s always a better idea speed-wise to initialize a string with single quotes, unless you specifically need variable substitution. - How come the code works, but doesn’t for two-dimensional array of mine? - Any time you have an array with more than one dimension, complex parsing syntax is required. print "Contents: {$arr[1][2]}" would’ve worked.
- What is the difference between characters �23 and x23? - The first one is octal 23, the second is hex 23.
- With a heredoc syntax, do I get variable substitution inside the heredoc contents? - Yes.
- I want to combine two variables together:
$var1 = 'Welcome to ';
$var2 = 'TechInterviews.com';What will work faster? Code sample 1:
$var 3 = $var1.$var2;
Or code sample 2:
$var3 = "$var1$var2";
Both examples would provide the same result - $var3 equal to "Welcome to TechInterviews.com". However, Code Sample 1 will work significantly faster. Try it out with large sets of data (or via concatenating small sets a million times or so), and you will see that concatenation works significantly faster than variable substitution.
- For printing out strings, there are echo,print and printf. Explain the differences.
echo is the most primitive of them, and just outputs the contents following the construct to the screen. print is also a construct (so parentheses are optional when calling it), but it returns TRUE on successful output and FALSE if it was unable to print out the string. However, you can pass multiple parameters to echo, like:and it will output the string "Welcome to TechInterviews!" print does not take multiple parameters. It is also generally argued that echo is faster, but usually the speed advantage is negligible, and might not be there for future versions of PHP. printf is a function, not a construct, and allows such advantages as formatted output, but it’s the slowest way to print out data out of echo, print and printf.
- I am writing an application in PHP that outputs a printable version of driving directions. It contains some long sentences, and I am a neat freak, and would like to make sure that no line exceeds 50 characters. How do I accomplish that with PHP? - On large strings that need to be formatted according to some length specifications, use wordwrap() or chunk_split().
- What’s the output of the ucwords function in this example?
$formatted = ucwords("TECHINTERVIEWS IS COLLECTION OF INTERVIEW QUESTIONS");
print $formatted;What will be printed is TECHINTERVIEWS IS COLLECTION OF INTERVIEW QUESTIONS.
ucwords() makes every first letter of every word capital, but it does not lower-case anything else. To avoid this, and get a properly formatted string, it’s worth using strtolower() first. - What’s the difference between htmlentities() and htmlspecialchars()? - htmlspecialchars only takes care of <, >, single quote ‘, double quote " and ampersand. htmlentities translates all occurrences of character sequences that have different meaning in HTML.
- What’s the difference between md5(), crc32() and sha1() crypto on PHP? - The major difference is the length of the hash generated. CRC32 is, evidently, 32 bits, while sha1() returns a 128 bit value, and md5() returns a 160 bit value. This is important when avoiding collisions.
- So if md5() generates the most secure hash, why would you ever use the less secure crc32() and sha1()? - Crypto usage in PHP is simple, but that doesn’t mean it’s free. First off, depending on the data that you’re encrypting, you might have reasons to store a 32-bit value in the database instead of the 160-bit value to save on space. Second, the more secure the crypto is, the longer is the computation time to deliver the hash value. A high volume site might be significantly slowed down, if frequent md5() generation is required.
- How i can get ip address ?
PHP makes REMOTE_ADDR and REMOTE_HOST available for our use, they live
within the SERVER arrays. So:
REMOTE_ADDR - the IP address of the client
REMOTE_HOST -The host address of the client, if available - How we know browser properties ?
get_browser() attempts to determine the capabilities of the user's browser. This is done by looking up the browser's information in the browscap.ini file.
echo $_SERVER['HTTP_USER_AGENT'] . "
";
$browser = get_browser();
foreach ($browser as $name => $value) {
echo "$name $value
";
} - What Is MIME Type ?
MIME Type represent Multipurpose Internet Mail Extensions that means Electronic Information Transfer Through E-mail. Its used for data transfer throughout the web . - list of common MIME types and their corresponding file extensions.
.3dm x-world/x-3dmf .3dmf x-world/x-3dmf .a application/octet-stream .aab application/x-authorware-bin .aam application/x-authorware-map .aas application/x-authorware-seg .abc text/vnd.abc .acgi text/html .afl video/animaflex .ai application/postscript .aif audio/aiff .aif audio/x-aiff .aifc audio/aiff .aifc audio/x-aiff .aiff audio/aiff .aiff audio/x-aiff .aim application/x-aim .aip text/x-audiosoft-intra .ani application/x-navi-animation .aos application/x-nokia-9000-communicator-add-on-software .aps application/mime .arc application/octet-stream .arj application/arj .arj application/octet-stream .art image/x-jg .asf video/x-ms-asf .asm text/x-asm .asp text/asp .asx application/x-mplayer2 .asx video/x-ms-asf .asx video/x-ms-asf-plugin .au audio/basic .au audio/x-au .avi application/x-troff-msvideo .avi video/avi .avi video/msvideo .avi video/x-msvideo .avs video/avs-video .bcpio application/x-bcpio .bin application/mac-binary .bin application/macbinary .bin application/octet-stream .bin application/x-binary .bin application/x-macbinary .bm image/bmp .bmp image/bmp .bmp image/x-windows-bmp .boo application/book .book application/book .boz application/x-bzip2 .bsh application/x-bsh .bz application/x-bzip .bz2 application/x-bzip2 .c text/plain .c text/x-c .c++ text/plain .cat application/vnd.ms-pki.seccat .cc text/plain .cc text/x-c .ccad application/clariscad .cco application/x-cocoa .cdf application/cdf .cdf application/x-cdf .cdf application/x-netcdf .cer application/pkix-cert .cer application/x-x509-ca-cert .cha application/x-chat .chat application/x-chat .class application/java .class application/java-byte-code .class application/x-java-class .com application/octet-stream .com text/plain .conf text/plain .cpio application/x-cpio .cpp text/x-c .cpt application/mac-compactpro .cpt application/x-compactpro .cpt application/x-cpt .crl application/pkcs-crl .crl application/pkix-crl .crt application/pkix-cert .crt application/x-x509-ca-cert .crt application/x-x509-user-cert .csh application/x-csh .csh text/x-script.csh .css application/x-pointplus .css text/css .cxx text/plain .dcr application/x-director .deepv application/x-deepv .def text/plain .der application/x-x509-ca-cert .dif video/x-dv .dir application/x-director .dl video/dl .dl video/x-dl .doc application/msword .dot application/msword .dp application/commonground .drw application/drafting .dump application/octet-stream .dv video/x-dv .dvi application/x-dvi .dwf drawing/x-dwf (old) .dwf model/vnd.dwf .dwg application/acad .dwg image/vnd.dwg .dwg image/x-dwg .dxf application/dxf .dxf image/vnd.dwg .dxf image/x-dwg .dxr application/x-director .el text/x-script.elisp .elc application/x-bytecode.elisp (compiled elisp) .elc application/x-elc .env application/x-envoy .eps application/postscript .es application/x-esrehber .etx text/x-setext .evy application/envoy .evy application/x-envoy .exe application/octet-stream .f text/plain .f text/x-fortran .f77 text/x-fortran .f90 text/plain .f90 text/x-fortran .fdf application/vnd.fdf .fif application/fractals .fif image/fif .fli video/fli .fli video/x-fli .flo image/florian .flx text/vnd.fmi.flexstor .fmf video/x-atomic3d-feature .for text/plain .for text/x-fortran .fpx image/vnd.fpx .fpx image/vnd.net-fpx .frl application/freeloader .funk audio/make .g text/plain .g3 image/g3fax .gif image/gif .gl video/gl .gl video/x-gl .gsd audio/x-gsm .gsm audio/x-gsm .gsp application/x-gsp .gss application/x-gss .gtar application/x-gtar .gz application/x-compressed .gz application/x-gzip .gzip application/x-gzip .gzip multipart/x-gzip .h text/plain .h text/x-h .hdf application/x-hdf .help application/x-helpfile .hgl application/vnd.hp-hpgl .hh text/plain .hh text/x-h .hlb text/x-script .hlp application/hlp .hlp application/x-helpfile .hlp application/x-winhelp .hpg application/vnd.hp-hpgl .hpgl application/vnd.hp-hpgl .hqx application/binhex .hqx application/binhex4 .hqx application/mac-binhex .hqx application/mac-binhex40 .hqx application/x-binhex40 .hqx application/x-mac-binhex40 .hta application/hta .htc text/x-component .htm text/html .html text/html .htmls text/html .htt text/webviewhtml .htx text/html .ice x-conference/x-cooltalk .ico image/x-icon .idc text/plain .ief image/ief .iefs image/ief .iges application/iges .iges model/iges .igs application/iges .igs model/iges .ima application/x-ima .imap application/x-httpd-imap .inf application/inf .ins application/x-internett-signup .ip application/x-ip2 .isu video/x-isvideo .it audio/it .iv application/x-inventor .ivr i-world/i-vrml .ivy application/x-livescreen .jam audio/x-jam .jav text/plain .jav text/x-java-source .java text/plain .java text/x-java-source .jcm application/x-java-commerce .jfif image/jpeg .jfif image/pjpeg .jfif-tbnl image/jpeg .jpe image/jpeg .jpe image/pjpeg .jpeg image/jpeg .jpeg image/pjpeg .jpg image/jpeg .jpg image/pjpeg .jps image/x-jps .js application/x-javascript .jut image/jutvision .kar audio/midi .kar music/x-karaoke .ksh application/x-ksh .ksh text/x-script.ksh .la audio/nspaudio .la audio/x-nspaudio .lam audio/x-liveaudio .latex application/x-latex .lha application/lha .lha application/octet-stream .lha application/x-lha .lhx application/octet-stream .list text/plain .lma audio/nspaudio .lma audio/x-nspaudio .log text/plain .lsp application/x-lisp .lsp text/x-script.lisp .lst text/plain .lsx text/x-la-asf .ltx application/x-latex .lzh application/octet-stream .lzh application/x-lzh .lzx application/lzx .lzx application/octet-stream .lzx application/x-lzx .m text/plain .m text/x-m .m1v video/mpeg .m2a audio/mpeg .m2v video/mpeg .m3u audio/x-mpequrl .man application/x-troff-man .map application/x-navimap .mar text/plain .mbd application/mbedlet .mc$ application/x-magic-cap-package-1.0 .mcd application/mcad .mcd application/x-mathcad .mcf image/vasa .mcf text/mcf .mcp application/netmc .me application/x-troff-me .mht message/rfc822 .mhtml message/rfc822 .mid application/x-midi .mid audio/midi .mid audio/x-mid .mid audio/x-midi .mid music/crescendo .mid x-music/x-midi .midi application/x-midi .midi audio/midi .midi audio/x-mid .midi audio/x-midi .midi music/crescendo .midi x-music/x-midi .mif application/x-frame .mif application/x-mif .mime message/rfc822 .mime www/mime .mjf audio/x-vnd.audioexplosion.mjuicemediafile .mjpg video/x-motion-jpeg .mm application/base64 .mm application/x-meme .mme application/base64 .mod audio/mod .mod audio/x-mod .moov video/quicktime .mov video/quicktime .movie video/x-sgi-movie .mp2 audio/mpeg .mp2 audio/x-mpeg .mp2 video/mpeg .mp2 video/x-mpeg .mp2 video/x-mpeq2a .mp3 audio/mpeg3 .mp3 audio/x-mpeg-3 .mp3 video/mpeg .mp3 video/x-mpeg .mpa audio/mpeg .mpa video/mpeg .mpc application/x-project .mpe video/mpeg .mpeg video/mpeg .mpg audio/mpeg .mpg video/mpeg .mpga audio/mpeg .mpp application/vnd.ms-project .mpt application/x-project .mpv application/x-project .mpx application/x-project .mrc application/marc .ms application/x-troff-ms .mv video/x-sgi-movie .my audio/make .mzz application/x-vnd.audioexplosion.mzz .nap image/naplps .naplps image/naplps .nc application/x-netcdf .ncm application/vnd.nokia.configuration-message .nif image/x-niff .niff image/x-niff .nix application/x-mix-transfer .nsc application/x-conference .nvd application/x-navidoc .o application/octet-stream .oda application/oda .omc application/x-omc .omcd application/x-omcdatamaker .omcr application/x-omcregerator .p text/x-pascal .p10 application/pkcs10 .p10 application/x-pkcs10 .p12 application/pkcs-12 .p12 application/x-pkcs12 .p7a application/x-pkcs7-signature .p7c application/pkcs7-mime .p7c application/x-pkcs7-mime .p7m application/pkcs7-mime .p7m application/x-pkcs7-mime .p7r application/x-pkcs7-certreqresp .p7s application/pkcs7-signature .part application/pro_eng .pas text/pascal .pbm image/x-portable-bitmap .pcl application/vnd.hp-pcl .pcl application/x-pcl .pct image/x-pict .pcx image/x-pcx .pdb chemical/x-pdb .pdf application/pdf .pfunk audio/make .pfunk audio/make.my.funk .pgm image/x-portable-graymap .pgm image/x-portable-greymap .pic image/pict .pict image/pict .pkg application/x-newton-compatible-pkg .pko application/vnd.ms-pki.pko .pl text/plain .pl text/x-script.perl .plx application/x-pixclscript .pm image/x-xpixmap .pm text/x-script.perl-module .pm4 application/x-pagemaker .pm5 application/x-pagemaker .png image/png .pnm application/x-portable-anymap .pnm image/x-portable-anymap .pot application/mspowerpoint .pot application/vnd.ms-powerpoint .pov model/x-pov .ppa application/vnd.ms-powerpoint .ppm image/x-portable-pixmap .pps application/mspowerpoint .pps application/vnd.ms-powerpoint .ppt application/mspowerpoint .ppt application/powerpoint .ppt application/vnd.ms-powerpoint .ppt application/x-mspowerpoint .ppz application/mspowerpoint .pre application/x-freelance .prt application/pro_eng .ps application/postscript .psd application/octet-stream .pvu paleovu/x-pv .pwz application/vnd.ms-powerpoint .py text/x-script.phyton .pyc applicaiton/x-bytecode.python .qcp audio/vnd.qcelp .qd3 x-world/x-3dmf .qd3d x-world/x-3dmf .qif image/x-quicktime .qt video/quicktime .qtc video/x-qtc .qti image/x-quicktime .qtif image/x-quicktime .ra audio/x-pn-realaudio .ra audio/x-pn-realaudio-plugin .ra audio/x-realaudio .ram audio/x-pn-realaudio .ras application/x-cmu-raster .ras image/cmu-raster .ras image/x-cmu-raster .rast image/cmu-raster .rexx text/x-script.rexx .rf image/vnd.rn-realflash .rgb image/x-rgb .rm application/vnd.rn-realmedia .rm audio/x-pn-realaudio .rmi audio/mid .rmm audio/x-pn-realaudio .rmp audio/x-pn-realaudio .rmp audio/x-pn-realaudio-plugin .rng application/ringing-tones .rng application/vnd.nokia.ringing-tone .rnx application/vnd.rn-realplayer .roff application/x-troff .rp image/vnd.rn-realpix .rpm audio/x-pn-realaudio-plugin .rt text/richtext .rt text/vnd.rn-realtext .rtf application/rtf .rtf application/x-rtf .rtf text/richtext .rtx application/rtf .rtx text/richtext .rv video/vnd.rn-realvideo .s text/x-asm .s3m audio/s3m .saveme application/octet-stream .sbk application/x-tbook .scm application/x-lotusscreencam .scm text/x-script.guile .scm text/x-script.scheme .scm video/x-scm .sdml text/plain .sdp application/sdp .sdp application/x-sdp .sdr application/sounder .sea application/sea .sea application/x-sea .set application/set .sgm text/sgml .sgm text/x-sgml .sgml text/sgml .sgml text/x-sgml .sh application/x-bsh .sh application/x-sh .sh application/x-shar .sh text/x-script.sh .shar application/x-bsh .shar application/x-shar .shtml text/html .shtml text/x-server-parsed-html .sid audio/x-psid .sit application/x-sit .sit application/x-stuffit .skd application/x-koan .skm application/x-koan .skp application/x-koan .skt application/x-koan .sl application/x-seelogo .smi application/smil .smil application/smil .snd audio/basic .snd audio/x-adpcm .sol application/solids .spc application/x-pkcs7-certificates .spc text/x-speech .spl application/futuresplash .spr application/x-sprite .sprite application/x-sprite .src application/x-wais-source .ssi text/x-server-parsed-html .ssm application/streamingmedia .sst application/vnd.ms-pki.certstore .step application/step .stl application/sla .stl application/vnd.ms-pki.stl .stl application/x-navistyle .stp application/step .sv4cpio application/x-sv4cpio .sv4crc application/x-sv4crc .svf image/vnd.dwg .svf image/x-dwg .svr application/x-world .svr x-world/x-svr .swf application/x-shockwave-flash .t application/x-troff .talk text/x-speech .tar application/x-tar .tbk application/toolbook .tbk application/x-tbook .tcl application/x-tcl .tcl text/x-script.tcl .tcsh text/x-script.tcsh .tex application/x-tex .texi application/x-texinfo .texinfo application/x-texinfo .text application/plain .text text/plain .tgz application/gnutar .tgz application/x-compressed .tif image/tiff .tif image/x-tiff .tiff image/tiff .tiff image/x-tiff .tr application/x-troff .tsi audio/tsp-audio .tsp application/dsptype .tsp audio/tsplayer .tsv text/tab-separated-values .turbot image/florian .txt text/plain .uil text/x-uil .uni text/uri-list .unis text/uri-list .unv application/i-deas .uri text/uri-list .uris text/uri-list .ustar application/x-ustar .ustar multipart/x-ustar .uu application/octet-stream .uu text/x-uuencode .uue text/x-uuencode .vcd application/x-cdlink .vcs text/x-vcalendar .vda application/vda .vdo video/vdo .vew application/groupwise .viv video/vivo .viv video/vnd.vivo .vivo video/vivo .vivo video/vnd.vivo .vmd application/vocaltec-media-desc .vmf application/vocaltec-media-file .voc audio/voc .voc audio/x-voc .vos video/vosaic .vox audio/voxware .vqe audio/x-twinvq-plugin .vqf audio/x-twinvq .vql audio/x-twinvq-plugin .vrml application/x-vrml .vrml model/vrml .vrml x-world/x-vrml .vrt x-world/x-vrt .vsd application/x-visio .vst application/x-visio .vsw application/x-visio .w60 application/wordperfect6.0 .w61 application/wordperfect6.1 .w6w application/msword .wav audio/wav .wav audio/x-wav .wb1 application/x-qpro .wbmp image/vnd.wap.wbmp .web application/vnd.xara .wiz application/msword .wk1 application/x-123 .wmf windows/metafile .wml text/vnd.wap.wml .wmlc application/vnd.wap.wmlc .wmls text/vnd.wap.wmlscript .wmlsc application/vnd.wap.wmlscriptc .word application/msword .wp application/wordperfect .wp5 application/wordperfect .wp5 application/wordperfect6.0 .wp6 application/wordperfect .wpd application/wordperfect .wpd application/x-wpwin .wq1 application/x-lotus .wri application/mswrite .wri application/x-wri .wrl application/x-world .wrl model/vrml .wrl x-world/x-vrml .wrz model/vrml .wrz x-world/x-vrml .wsc text/scriplet .wsrc application/x-wais-source .wtk application/x-wintalk .xbm image/x-xbitmap .xbm image/x-xbm .xbm image/xbm .xdr video/x-amt-demorun .xgz xgl/drawing .xif image/vnd.xiff .xl application/excel .xla application/excel .xla application/x-excel .xla application/x-msexcel .xlb application/excel .xlb application/vnd.ms-excel .xlb application/x-excel .xlc application/excel .xlc application/vnd.ms-excel .xlc application/x-excel .xld application/excel .xld application/x-excel .xlk application/excel .xlk application/x-excel .xll application/excel .xll application/vnd.ms-excel .xll application/x-excel .xlm application/excel .xlm application/vnd.ms-excel .xlm application/x-excel .xls application/excel .xls application/vnd.ms-excel .xls application/x-excel .xls application/x-msexcel .xlt application/excel .xlt application/x-excel .xlv application/excel .xlv application/x-excel .xlw application/excel .xlw application/vnd.ms-excel .xlw application/x-excel .xlw application/x-msexcel .xm audio/xm .xml application/xml .xml text/xml .xmz xgl/movie .xpix application/x-vnd.ls-xpix .xpm image/x-xpixmap .xpm image/xpm .x-png image/png .xsr video/x-amt-showrun .xwd image/x-xwd .xwd image/x-xwindowdump .xyz chemical/x-pdb .z application/x-compress .z application/x-compressed .zip application/x-compressed .zip application/x-zip-compressed .zip application/zip .zip multipart/x-zip .zoo application/octet-stream .zsh text/x-script.zsh
Source from techinterviews


0 comments:
Post a Comment