34,116
students have developed their PHP skills on Exercism.

Students
34,116
Submissions
283,021
Mentoring Discussions
3,052

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
259,731
Test Run Pass Rate
15.3% (39832)
Test Run Fail Rate
81.8% (212550)
Test Run Error Rate
2.8% (7349)

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
20,224
50,534 (avg. 2.5)
14,143 (69.9%)
9 (0.0%)
Reverse String Reverse String
8,704
39,722 (avg. 4.6)
4,683 (53.8%)
177 (2.0%)
Resistor Color Resistor Color
4,662
40,923 (avg. 8.8)
2,422 (52.0%)
52 (1.1%)
Hamming Hamming
5,627
24,090 (avg. 4.3)
3,926 (69.8%)
957 (17.0%)
Gigasecond Gigasecond
3,405
10,976 (avg. 3.2)
2,474 (72.7%)
396 (11.6%)
Tournament Tournament
1,359
17,877 (avg. 13.2)
463 (34.1%)
37 (2.7%)
Simple Cipher Simple Cipher
543
5,718 (avg. 10.5)
235 (43.3%)
13 (2.4%)
High Scores High Scores
981
7,406 (avg. 7.5)
498 (50.8%)
17 (1.7%)
Bob Bob
1,447
5,354 (avg. 3.7)
995 (68.8%)
264 (18.2%)
RNA Transcription RNA Transcription
1,378
3,489 (avg. 2.5)
1,189 (86.3%)
172 (12.5%)
Luhn Luhn
588
3,175 (avg. 5.4)
418 (71.1%)
105 (17.9%)
Isogram Isogram
792
3,872 (avg. 4.9)
619 (78.2%)
90 (11.4%)
Robot Name Robot Name
1,073
7,822 (avg. 7.3)
657 (61.2%)
97 (9.0%)
Difference of Squares Difference of Squares
841
1,990 (avg. 2.4)
744 (88.5%)
75 (8.9%)
Grade School Grade School
415
2,062 (avg. 5.0)
281 (67.7%)
43 (10.4%)
Robot Simulator Robot Simulator
518
2,840 (avg. 5.5)
332 (64.1%)
38 (7.3%)
Run-Length Encoding Run-Length Encoding
493
1,701 (avg. 3.5)
355 (72.0%)
101 (20.5%)
Largest Series Product Largest Series Product
431
2,306 (avg. 5.4)
351 (81.4%)
48 (11.1%)
Accumulate Accumulate
366
860 (avg. 2.3)
291 (79.5%)
10 (2.7%)
Acronym Acronym
415
4,883 (avg. 11.8)
240 (57.8%)
9 (2.2%)
All Your Base All Your Base
223
1,587 (avg. 7.1)
123 (55.2%)
5 (2.2%)
Anagram Anagram
453
1,804 (avg. 4.0)
334 (73.7%)
18 (4.0%)
Atbash Cipher Atbash Cipher
206
1,018 (avg. 4.9)
161 (78.2%)
4 (1.9%)
Beer Song Beer Song
334
3,220 (avg. 9.6)
208 (62.3%)
3 (0.9%)
Binary Binary
279
1,300 (avg. 4.7)
213 (76.3%)
7 (2.5%)
Bowling Bowling
347
1,651 (avg. 4.8)
161 (46.4%)
7 (2.0%)
Change Change
255
1,598 (avg. 6.3)
93 (36.5%)
5 (2.0%)
Clock Clock
350
1,771 (avg. 5.1)
216 (61.7%)
9 (2.6%)
Collatz Conjecture Collatz Conjecture
163
601 (avg. 3.7)
136 (83.4%)
2 (1.2%)
Connect Connect
125
343 (avg. 2.7)
56 (44.8%)
0 (0.0%)
Crypto Square Crypto Square
96
448 (avg. 4.7)
56 (58.3%)
1 (1.0%)
Diamond Diamond
147
627 (avg. 4.3)
85 (57.8%)
5 (3.4%)
ETL ETL
139
258 (avg. 1.9)
108 (77.7%)
2 (1.4%)
Leap Leap
531
1,127 (avg. 2.1)
448 (84.4%)
25 (4.7%)
Matching Brackets Matching Brackets
197
577 (avg. 2.9)
126 (64.0%)
1 (0.5%)
Meetup Meetup
100
483 (avg. 4.8)
57 (57.0%)
1 (1.0%)
Minesweeper Minesweeper
166
588 (avg. 3.5)
72 (43.4%)
0 (0.0%)
Nucleotide Count Nucleotide Count
171
622 (avg. 3.6)
134 (78.4%)
5 (2.9%)
Perfect Numbers Perfect Numbers
111
431 (avg. 3.9)
87 (78.4%)
4 (3.6%)
Phone Number Phone Number
223
1,469 (avg. 6.6)
129 (57.8%)
5 (2.2%)
Rail Fence Cipher Rail Fence Cipher
80
367 (avg. 4.6)
35 (43.8%)
1 (1.3%)
Series Series
122
353 (avg. 2.9)
84 (68.9%)
1 (0.8%)
Sieve Sieve
411
695 (avg. 1.7)
289 (70.3%)
24 (5.8%)
Space Age Space Age
141
403 (avg. 2.9)
107 (75.9%)
5 (3.5%)
Transpose Transpose
104
738 (avg. 7.1)
60 (57.7%)
0 (0.0%)
Triangle Triangle
158
635 (avg. 4.0)
117 (74.1%)
4 (2.5%)
Trinary Trinary
317
661 (avg. 2.1)
264 (83.3%)
14 (4.4%)
Two Fer Two Fer
190
616 (avg. 3.2)
152 (80.0%)
5 (2.6%)
Variable Length Quantity Variable Length Quantity
65
164 (avg. 2.5)
33 (50.8%)
1 (1.5%)
Word Count Word Count
482
1,271 (avg. 2.6)
329 (68.3%)
25 (5.2%)
Wordy Wordy
240
883 (avg. 3.7)
162 (67.5%)
4 (1.7%)
Armstrong Numbers Armstrong Numbers
129
475 (avg. 3.7)
103 (79.8%)
3 (2.3%)
Flatten Array Flatten Array
141
391 (avg. 2.8)
96 (68.1%)
3 (2.1%)
Queen Attack Queen Attack
106
326 (avg. 3.1)
71 (67.0%)
2 (1.9%)
Raindrops Raindrops
818
1,239 (avg. 1.5)
717 (87.7%)
76 (9.3%)
Scrabble Score Scrabble Score
127
355 (avg. 2.8)
99 (78.0%)
4 (3.1%)
Sum of Multiples Sum of Multiples
148
827 (avg. 5.6)
92 (62.2%)
4 (2.7%)
Affine Cipher Affine Cipher
59
524 (avg. 8.9)
25 (42.4%)
0 (0.0%)
Allergies Allergies
128
600 (avg. 4.7)
67 (52.3%)
2 (1.6%)
Binary Search Binary Search
121
391 (avg. 3.2)
86 (71.1%)
1 (0.8%)
Book Store Book Store
108
208 (avg. 1.9)
42 (38.9%)
3 (2.8%)
Grains Grains
122
1,026 (avg. 8.4)
74 (60.7%)
2 (1.6%)
Markdown Markdown
159
401 (avg. 2.5)
55 (34.6%)
1 (0.6%)
Nth Prime Nth Prime
111
486 (avg. 4.4)
73 (65.8%)
1 (0.9%)
OCR Numbers OCR Numbers
75
162 (avg. 2.2)
43 (57.3%)
1 (1.3%)
Pascal's Triangle Pascal's Triangle
87
297 (avg. 3.4)
53 (60.9%)
2 (2.3%)
Matrix Matrix
82
494 (avg. 6.0)
43 (52.4%)
2 (2.4%)
Prime Factors Prime Factors
98
404 (avg. 4.1)
69 (70.4%)
3 (3.1%)
D&D Character D&D Character
80
473 (avg. 5.9)
42 (52.5%)
1 (1.3%)
Pangram Pangram
625
1,159 (avg. 1.9)
547 (87.5%)
60 (9.6%)
Pig Latin Pig Latin
288
489 (avg. 1.7)
185 (64.2%)
8 (2.8%)
Roman Numerals Roman Numerals
561
841 (avg. 1.5)
385 (68.6%)
30 (5.3%)
Poker Poker
99
893 (avg. 9.0)
18 (18.2%)
0 (0.0%)
Linked List Linked List
108
865 (avg. 8.0)
55 (50.9%)
1 (0.9%)
Palindrome Products Palindrome Products
126
695 (avg. 5.5)
53 (42.1%)
1 (0.8%)
Darts Darts
98
494 (avg. 5.0)
47 (48.0%)
1 (1.0%)
Mask Credit Card Mask Credit Card
166
968 (avg. 5.8)
108 (65.1%)
3 (1.8%)
Ordinal Number Ordinal Number
230
1,287 (avg. 5.6)
114 (49.6%)
4 (1.7%)
Scale Generator Scale Generator
75
342 (avg. 4.6)
20 (26.7%)
2 (2.7%)
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