PHP Online Test

TestDome skill assessments are used by more than 11,000 companies and 1,030,000 test takers.

For Jobseekers

Practice your skills and earn a certificate of achievement when you score in the top 25%.

Take a Practice Test

For Companies

Test candidates with real-world problems and interview the best ones.

Sign Up to Offer this Test

About the test

The PHP online test assesses knowledge of programming in the PHP language through a series of live coding questions.

The assessment includes work-sample tasks such as:

  • Serializing to/from JSON to handle web requests.
  • Using OOP principles in PHP.
  • Working with associative arrays and using common built-in functions.

A good PHP developer needs a solid understanding of the PHP programming language and its specifics, OOP principles, and the ability to take advantage of its rich set of built-in functions.

Sample public questions

Easy
15 min
code
Public
AI-resistant
PHP
Arithmetic
Arrays
Iteration

A gaming company is working on a platformer game. They need a function that will compute the character's final speed, given a map and a starting speed.

The terrain on which the game character moves forward is made from various pieces of land placed together. Implement the function calculateFinalSpeed which takes the initial speed of the character, and an array of degrees of inclination that represent the uneven terrain.

The speed of the character will increase or decrease proportionally to the incline of the land, as shown in the image below:

Image showing the increase and decrease of character speed.

The magnitude of the angle of inclination will always be < 90°. The speed change occurs only once for each piece of land. The function should immediately return 0 as the final speed if an incline reduces the speed to 0 or below 0, which makes the character lose 1 life.

For example, the below code:

echo calculateFinalSpeed(60, [0, 30, 0, -45, 0]);

should print:

75
Easy
20 min
code
Public
AI-resistant
PHP
Arrays
Iteration

Your company is analyzing malware which targets numerical record files.

The malware uses a sliding window over the array of numbers in a file, and tries to match the following pattern:

Tl, -, -, X, -, -, -, Tr

The entire window is moved so that 'X' passes through all the values and is compared to the numbers at the 'Tl' and 'Tr' locations, which are positioned at a constant offset to 'X'.

The malware has the following rules:

  • If the value at the 'Tl' or 'Tr' position of the pattern is bigger or equal to the value at the 'X’ position, the malware replaces the value at 'X' with 0.
  • If the value at the 'Tl' or 'Tr' offset is out of bounds, then the value at 'X' is only compared to the other existing value.
  • The record is processed in two stages: first, all the positions that should be set to 0 are located, using the original values for comparison. Only after all positions have been identified do they get set to 0.

For example, if the values in a record file are the following:

[1, 2, 0, 5, 0, 2, 4, 3, 3, 3]

The expected values after the malware runs are:

[1, 0, 0, 5, 0, 0, 0, 3, 3, 0]

In this example, both '2's, the '4' and the last '3' were replaced by 0.

Implement the simulate function so that the malware behavior is replicated for further study.

For jobseekers: get certified

Earn a free certificate by achieving top 25% on the PHP test with public questions.

Take a Certification Test

Sample silver certificate

Sunshine Caprio

Java and SQL
TestDome
Certificate
TestDome logo icon

For companies: premium questions

Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.

Sign Up to Offer this Test

44 more premium PHP questions

Array Search, Read First Line, Last Key, Category Tree, Hobbies, Username, View Count, Log Parser, Kilometer Converter, String Occurrence, Segment, Cookie, Read Write Execute, Fire Dragon, Unique Numbers, Chain Link, Special Actions, Language Teacher, Crop Ratio, Vectors, Date Transform, Numbers To Text, Airport Networks, Company Stock, Shipping, Flower Shop, Array Sum, Shipping Service, PC Parts Seller, Action Stack, Paragraph, Filter, Greeter, Planet Search, Digital Flasks, Calories Burned, Circuit Simulator, Students, Chemical Machine, Popular Book, Construction Game, Flimsy Bridge, Height, Parking Allocation.

Skills and topics tested

  • PHP
  • Arrays
  • Recursion
  • Exceptions
  • Associative Arrays
  • Iteration
  • Regex
  • Strings
  • JSON
  • Serialization
  • XML
  • Inheritance
  • Method Overriding
  • OOP
  • Stream
  • Arithmetic
  • Session
  • Interfaces
  • Algorithmic Thinking
  • Linked List
  • Bug Fixing
  • Integer Division
  • Language
  • 2D Array
  • Graphs
  • AI Code Review
  • Conditional Statements
  • Loops
  • Null Coalescing Operator
  • Pass by Reference
  • Callback
  • Classes
  • Properties
  • Stack
  • Conditions
  • Sorting

For job roles

  • PHP Developer
  • Web Developer

Sample candidate report

Need it fast? AI-crafted tests for your job role

TestDome generates custom tests tailored to the specific skills you need for your job role.
Sign up now to try it out and see how AI can streamline your hiring process!

Use AI Test Generator

What others say

Decorative quote

Simple, straight-forward technical testing

TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.

Jan Opperman, Grindrod Bank

Product reviews

G2 - Crowd Badge
G2 - High Performer (2022)
Capterra - 4.5 Stars
Capterra - Shortlist (2023)

Used by

Solve all your skill testing needs

150+ Pre-made tests

From web development and database administration to project management and customer support. See all pre-made tests.

90+ skills

From JavaScript and SQL to English and customer support. See all questions to filter by skill.

Multi-skills Test

Mix questions for different skills or even custom questions in one test. See an example.

How TestDome works

1

Choose a pre-made test
or create a custom test

2

Invite candidates via
email, URL, or your ATS

3

Candidates take
a test remotely

4

Sort candidates and
get individual reports

Want to know more?

Related PHP Tests: