28,074
students have developed their PHP skills on Exercism.

Students
28,074
Submissions
210,706
Mentoring Discussions
2,863

The PHP track needs attention ⚠️

Building

Build

Use your knowledge to build the PHP track itself

Build Test Runners

Learn More

Create Test Runners that have the single responsibility of taking a solution, running all tests and returning a standardized output.

Usage statistics

Total Test Runner Runs
187,530
Test Run Pass Rate
15.3% (28716)
Test Run Fail Rate
81.9% (153575)
Test Run Error Rate
2.8% (5239)

Build Analyzers

Learn More

Build an Analyzer for PHP: Exercism's analyzers automatically assess student's submissions and provide mentor-style commentary.

Next goal: Build an Analyzer. Find out more.

Build Representers

Learn More

Build a Representer: a bit of code that has the single responsibility of taking a solution and returning a normalized representation of it.

Next goal: Build a Representer. Find out more.

Create Practice Exercises

Learn More

Practice Exercises are exercises designed to allow students to solve an arbitrary problem, with the aim of them making use of the concepts they have learned so far.

Next goal: Implement 134 practice exercises. Find out more.

Usage statistics

79 active practice exercises
Started
Attempts
Completions
Mentoring requests
Hello World Hello World
15,226
34,844 (avg. 2.3)
10,864 (71.4%)
9 (0.1%)
Reverse String Reverse String
6,076
28,454 (avg. 4.7)
3,293 (54.2%)
90 (1.5%)
Resistor Color Resistor Color
3,253
28,890 (avg. 8.9)
1,735 (53.3%)
34 (1.0%)
Hamming Hamming
4,856
17,753 (avg. 3.7)
3,422 (70.5%)
938 (19.3%)
Gigasecond Gigasecond
2,936
8,687 (avg. 3.0)
2,152 (73.3%)
389 (13.2%)
Tournament Tournament
957
12,541 (avg. 13.1)
317 (33.1%)
27 (2.8%)
Simple Cipher Simple Cipher
381
4,419 (avg. 11.6)
159 (41.7%)
7 (1.8%)
High Scores High Scores
701
5,536 (avg. 7.9)
357 (50.9%)
11 (1.6%)
Bob Bob
1,332
4,494 (avg. 3.4)
919 (69.0%)
261 (19.6%)
RNA Transcription RNA Transcription
1,240
3,017 (avg. 2.4)
1,075 (86.7%)
168 (13.5%)
Luhn Luhn
505
2,443 (avg. 4.8)
350 (69.3%)
102 (20.2%)
Isogram Isogram
701
2,925 (avg. 4.2)
554 (79.0%)
88 (12.6%)
Robot Name Robot Name
921
6,436 (avg. 7.0)
579 (62.9%)
94 (10.2%)
Difference of Squares Difference of Squares
754
1,693 (avg. 2.2)
670 (88.9%)
72 (9.5%)
Grade School Grade School
344
1,592 (avg. 4.6)
226 (65.7%)
41 (11.9%)
Robot Simulator Robot Simulator
419
1,986 (avg. 4.7)
263 (62.8%)
35 (8.4%)
Run-Length Encoding Run-Length Encoding
446
1,254 (avg. 2.8)
317 (71.1%)
100 (22.4%)
Largest Series Product Largest Series Product
386
1,718 (avg. 4.5)
314 (81.3%)
47 (12.2%)
Accumulate Accumulate
284
621 (avg. 2.2)
221 (77.8%)
9 (3.2%)
Acronym Acronym
318
3,921 (avg. 12.3)
189 (59.4%)
7 (2.2%)
All Your Base All Your Base
164
1,189 (avg. 7.3)
85 (51.8%)
2 (1.2%)
Anagram Anagram
399
1,387 (avg. 3.5)
291 (72.9%)
14 (3.5%)
Atbash Cipher Atbash Cipher
167
800 (avg. 4.8)
126 (75.4%)
2 (1.2%)
Beer Song Beer Song
276
2,562 (avg. 9.3)
165 (59.8%)
2 (0.7%)
Binary Binary
225
1,002 (avg. 4.5)
168 (74.7%)
5 (2.2%)
Bowling Bowling
297
1,211 (avg. 4.1)
138 (46.5%)
5 (1.7%)
Change Change
214
1,333 (avg. 6.2)
70 (32.7%)
4 (1.9%)
Clock Clock
300
1,498 (avg. 5.0)
192 (64.0%)
8 (2.7%)
Collatz Conjecture Collatz Conjecture
129
451 (avg. 3.5)
104 (80.6%)
1 (0.8%)
Connect Connect
110
326 (avg. 3.0)
47 (42.7%)
0 (0.0%)
Crypto Square Crypto Square
82
408 (avg. 5.0)
45 (54.9%)
1 (1.2%)
Diamond Diamond
122
511 (avg. 4.2)
67 (54.9%)
4 (3.3%)
ETL ETL
123
232 (avg. 1.9)
95 (77.2%)
1 (0.8%)
Leap Leap
491
932 (avg. 1.9)
413 (84.1%)
24 (4.9%)
Matching Brackets Matching Brackets
166
477 (avg. 2.9)
110 (66.3%)
1 (0.6%)
Meetup Meetup
84
369 (avg. 4.4)
47 (56.0%)
1 (1.2%)
Minesweeper Minesweeper
152
458 (avg. 3.0)
65 (42.8%)
0 (0.0%)
Nucleotide Count Nucleotide Count
148
496 (avg. 3.4)
116 (78.4%)
2 (1.4%)
Perfect Numbers Perfect Numbers
95
360 (avg. 3.8)
75 (78.9%)
3 (3.2%)
Phone Number Phone Number
189
1,209 (avg. 6.4)
116 (61.4%)
3 (1.6%)
Rail Fence Cipher Rail Fence Cipher
76
347 (avg. 4.6)
32 (42.1%)
1 (1.3%)
Series Series
106
322 (avg. 3.0)
74 (69.8%)
1 (0.9%)
Sieve Sieve
406
625 (avg. 1.5)
283 (69.7%)
24 (5.9%)
Space Age Space Age
123
319 (avg. 2.6)
93 (75.6%)
4 (3.3%)
Transpose Transpose
92
676 (avg. 7.3)
54 (58.7%)
0 (0.0%)
Triangle Triangle
134
509 (avg. 3.8)
97 (72.4%)
2 (1.5%)
Trinary Trinary
303
575 (avg. 1.9)
251 (82.8%)
13 (4.3%)
Two Fer Two Fer
168
533 (avg. 3.2)
135 (80.4%)
4 (2.4%)
Variable Length Quantity Variable Length Quantity
58
43 (avg. 0.7)
28 (48.3%)
1 (1.7%)
Word Count Word Count
454
1,097 (avg. 2.4)
314 (69.2%)
24 (5.3%)
Wordy Wordy
230
859 (avg. 3.7)
158 (68.7%)
4 (1.7%)
Armstrong Numbers Armstrong Numbers
108
365 (avg. 3.4)
87 (80.6%)
2 (1.9%)
Flatten Array Flatten Array
126
345 (avg. 2.7)
86 (68.3%)
2 (1.6%)
Queen Attack Queen Attack
93
270 (avg. 2.9)
61 (65.6%)
2 (2.2%)
Raindrops Raindrops
802
1,169 (avg. 1.5)
703 (87.7%)
74 (9.2%)
Scrabble Score Scrabble Score
109
306 (avg. 2.8)
83 (76.1%)
3 (2.8%)
Sum of Multiples Sum of Multiples
132
732 (avg. 5.5)
82 (62.1%)
3 (2.3%)
Affine Cipher Affine Cipher
56
508 (avg. 9.1)
23 (41.1%)
0 (0.0%)
Allergies Allergies
113
543 (avg. 4.8)
61 (54.0%)
2 (1.8%)
Binary Search Binary Search
106
293 (avg. 2.8)
76 (71.7%)
1 (0.9%)
Book Store Book Store
102
176 (avg. 1.7)
39 (38.2%)
3 (2.9%)
Grains Grains
106
871 (avg. 8.2)
68 (64.2%)
2 (1.9%)
Markdown Markdown
145
364 (avg. 2.5)
52 (35.9%)
0 (0.0%)
Nth Prime Nth Prime
103
463 (avg. 4.5)
68 (66.0%)
1 (1.0%)
OCR Numbers OCR Numbers
66
152 (avg. 2.3)
38 (57.6%)
1 (1.5%)
Pascal's Triangle Pascal's Triangle
79
247 (avg. 3.1)
48 (60.8%)
2 (2.5%)
Matrix Matrix
57
314 (avg. 5.5)
29 (50.9%)
1 (1.8%)
Prime Factors Prime Factors
92
391 (avg. 4.3)
63 (68.5%)
3 (3.3%)
D&D Character D&D Character
57
320 (avg. 5.6)
28 (49.1%)
0 (0.0%)
Pangram Pangram
608
1,077 (avg. 1.8)
533 (87.7%)
60 (9.9%)
Pig Latin Pig Latin
278
454 (avg. 1.6)
178 (64.0%)
7 (2.5%)
Roman Numerals Roman Numerals
531
754 (avg. 1.4)
365 (68.7%)
30 (5.6%)
Poker Poker
84
701 (avg. 8.3)
12 (14.3%)
0 (0.0%)
Linked List Linked List
78
744 (avg. 9.5)
39 (50.0%)
1 (1.3%)
Palindrome Products Palindrome Products
106
502 (avg. 4.7)
44 (41.5%)
1 (0.9%)
Darts Darts
75
418 (avg. 5.6)
37 (49.3%)
0 (0.0%)
Mask Credit Card Mask Credit Card
124
753 (avg. 6.1)
80 (64.5%)
3 (2.4%)
Ordinal Number Ordinal Number
172
934 (avg. 5.4)
88 (51.2%)
2 (1.2%)
Scale Generator Scale Generator
50
200 (avg. 4.0)
10 (20.0%)
2 (4.0%)
55 unimplemented practice exercises
Alphametics Alphametics
Bank Account Bank Account
Binary Search Tree Binary Search Tree
Bottle Song Bottle Song
Circular Buffer Circular Buffer
Complex Numbers Complex Numbers
Custom Set Custom Set
DOT DSL DOT DSL
Dominoes Dominoes
Error Handling Error Handling
Food Chain Food Chain
Forth Forth
Go Counting Go Counting
Grep Grep
Hangman Hangman
House House
ISBN Verifier ISBN Verifier
Killer Sudoku Helper Killer Sudoku Helper
Kindergarten Garden Kindergarten Garden
Knapsack Knapsack
Ledger Ledger
Lens Person Lens Person
List Ops List Ops
Micro Blog Micro Blog
POV POV
PaaS I/O PaaS I/O
Parallel Letter Frequency Parallel Letter Frequency
Protein Translation Protein Translation
Proverb Proverb
Pythagorean Triplet Pythagorean Triplet
REST API REST API
Rational Numbers Rational Numbers
React React
Rectangles Rectangles
Resistor Color Duo Resistor Color Duo
Resistor Color Trio Resistor Color Trio
Rotational Cipher Rotational Cipher
SGF Parsing SGF Parsing
Saddle Points Saddle Points
Satellite Satellite
Say Say
Secret Handshake Secret Handshake
Simple Linked List Simple Linked List
Spiral Matrix Spiral Matrix
Square Root Square Root
State of Tic-Tac-Toe State of Tic-Tac-Toe
Strain Strain
Sublist Sublist
Tree Building Tree Building
Twelve Days Twelve Days
Two Bucket Two Bucket
Word Search Word Search
Yacht Yacht
Zebra Puzzle Zebra Puzzle
Zipper Zipper