33,520
students have developed their PHP skills on Exercism.

Students
33,520
Submissions
273,428
Mentoring Discussions
3,024

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
250,143
Test Run Pass Rate
15.4% (38408)
Test Run Fail Rate
81.8% (204609)
Test Run Error Rate
2.8% (7126)

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
19,717
49,010 (avg. 2.5)
13,789 (69.9%)
9 (0.0%)
Reverse String Reverse String
8,417
38,537 (avg. 4.6)
4,528 (53.8%)
164 (1.9%)
Resistor Color Resistor Color
4,505
39,378 (avg. 8.7)
2,342 (52.0%)
48 (1.1%)
Hamming Hamming
5,549
23,539 (avg. 4.2)
3,866 (69.7%)
957 (17.2%)
Gigasecond Gigasecond
3,352
10,720 (avg. 3.2)
2,441 (72.8%)
396 (11.8%)
Tournament Tournament
1,313
16,645 (avg. 12.7)
443 (33.7%)
35 (2.7%)
Simple Cipher Simple Cipher
527
5,616 (avg. 10.7)
224 (42.5%)
12 (2.3%)
High Scores High Scores
943
7,105 (avg. 7.5)
475 (50.4%)
17 (1.8%)
Bob Bob
1,426
5,200 (avg. 3.6)
983 (68.9%)
262 (18.4%)
RNA Transcription RNA Transcription
1,360
3,440 (avg. 2.5)
1,174 (86.3%)
171 (12.6%)
Luhn Luhn
579
3,059 (avg. 5.3)
408 (70.5%)
104 (18.0%)
Isogram Isogram
779
3,670 (avg. 4.7)
610 (78.3%)
90 (11.6%)
Robot Name Robot Name
1,055
7,548 (avg. 7.2)
646 (61.2%)
96 (9.1%)
Difference of Squares Difference of Squares
830
1,925 (avg. 2.3)
734 (88.4%)
74 (8.9%)
Grade School Grade School
404
1,972 (avg. 4.9)
271 (67.1%)
42 (10.4%)
Robot Simulator Robot Simulator
503
2,585 (avg. 5.1)
322 (64.0%)
37 (7.4%)
Run-Length Encoding Run-Length Encoding
486
1,659 (avg. 3.4)
348 (71.6%)
101 (20.8%)
Largest Series Product Largest Series Product
423
2,233 (avg. 5.3)
344 (81.3%)
48 (11.3%)
Accumulate Accumulate
354
815 (avg. 2.3)
280 (79.1%)
10 (2.8%)
Acronym Acronym
404
4,745 (avg. 11.7)
232 (57.4%)
9 (2.2%)
All Your Base All Your Base
213
1,535 (avg. 7.2)
117 (54.9%)
4 (1.9%)
Anagram Anagram
446
1,767 (avg. 4.0)
327 (73.3%)
18 (4.0%)
Atbash Cipher Atbash Cipher
199
986 (avg. 5.0)
154 (77.4%)
4 (2.0%)
Beer Song Beer Song
326
3,164 (avg. 9.7)
201 (61.7%)
3 (0.9%)
Binary Binary
267
1,223 (avg. 4.6)
205 (76.8%)
7 (2.6%)
Bowling Bowling
337
1,462 (avg. 4.3)
156 (46.3%)
7 (2.1%)
Change Change
249
1,563 (avg. 6.3)
88 (35.3%)
5 (2.0%)
Clock Clock
341
1,731 (avg. 5.1)
212 (62.2%)
9 (2.6%)
Collatz Conjecture Collatz Conjecture
157
574 (avg. 3.7)
130 (82.8%)
2 (1.3%)
Connect Connect
123
341 (avg. 2.8)
55 (44.7%)
0 (0.0%)
Crypto Square Crypto Square
94
429 (avg. 4.6)
53 (56.4%)
1 (1.1%)
Diamond Diamond
140
554 (avg. 4.0)
81 (57.9%)
5 (3.6%)
ETL ETL
137
255 (avg. 1.9)
106 (77.4%)
2 (1.5%)
Leap Leap
523
1,055 (avg. 2.0)
440 (84.1%)
25 (4.8%)
Matching Brackets Matching Brackets
189
524 (avg. 2.8)
122 (64.6%)
1 (0.5%)
Meetup Meetup
96
479 (avg. 5.0)
55 (57.3%)
1 (1.0%)
Minesweeper Minesweeper
163
575 (avg. 3.5)
71 (43.6%)
0 (0.0%)
Nucleotide Count Nucleotide Count
168
612 (avg. 3.6)
131 (78.0%)
5 (3.0%)
Perfect Numbers Perfect Numbers
108
415 (avg. 3.8)
84 (77.8%)
4 (3.7%)
Phone Number Phone Number
219
1,455 (avg. 6.6)
127 (58.0%)
4 (1.8%)
Rail Fence Cipher Rail Fence Cipher
79
365 (avg. 4.6)
34 (43.0%)
1 (1.3%)
Series Series
119
351 (avg. 2.9)
83 (69.7%)
1 (0.8%)
Sieve Sieve
409
690 (avg. 1.7)
287 (70.2%)
24 (5.9%)
Space Age Space Age
138
393 (avg. 2.8)
104 (75.4%)
5 (3.6%)
Transpose Transpose
102
735 (avg. 7.2)
59 (57.8%)
0 (0.0%)
Triangle Triangle
154
618 (avg. 4.0)
113 (73.4%)
4 (2.6%)
Trinary Trinary
315
655 (avg. 2.1)
262 (83.2%)
14 (4.4%)
Two Fer Two Fer
188
610 (avg. 3.2)
150 (79.8%)
5 (2.7%)
Variable Length Quantity Variable Length Quantity
63
162 (avg. 2.6)
32 (50.8%)
1 (1.6%)
Word Count Word Count
480
1,269 (avg. 2.6)
328 (68.3%)
25 (5.2%)
Wordy Wordy
238
880 (avg. 3.7)
162 (68.1%)
4 (1.7%)
Armstrong Numbers Armstrong Numbers
129
475 (avg. 3.7)
103 (79.8%)
3 (2.3%)
Flatten Array Flatten Array
139
382 (avg. 2.7)
94 (67.6%)
2 (1.4%)
Queen Attack Queen Attack
104
316 (avg. 3.0)
69 (66.3%)
2 (1.9%)
Raindrops Raindrops
816
1,234 (avg. 1.5)
715 (87.6%)
76 (9.3%)
Scrabble Score Scrabble Score
126
354 (avg. 2.8)
98 (77.8%)
3 (2.4%)
Sum of Multiples Sum of Multiples
147
820 (avg. 5.6)
91 (61.9%)
3 (2.0%)
Affine Cipher Affine Cipher
59
524 (avg. 8.9)
25 (42.4%)
0 (0.0%)
Allergies Allergies
124
570 (avg. 4.6)
66 (53.2%)
2 (1.6%)
Binary Search Binary Search
119
379 (avg. 3.2)
85 (71.4%)
1 (0.8%)
Book Store Book Store
108
208 (avg. 1.9)
42 (38.9%)
3 (2.8%)
Grains Grains
120
989 (avg. 8.2)
73 (60.8%)
2 (1.7%)
Markdown Markdown
158
393 (avg. 2.5)
55 (34.8%)
0 (0.0%)
Nth Prime Nth Prime
111
486 (avg. 4.4)
73 (65.8%)
1 (0.9%)
OCR Numbers OCR Numbers
74
162 (avg. 2.2)
43 (58.1%)
1 (1.4%)
Pascal's Triangle Pascal's Triangle
86
296 (avg. 3.4)
52 (60.5%)
2 (2.3%)
Matrix Matrix
77
458 (avg. 5.9)
40 (51.9%)
2 (2.6%)
Prime Factors Prime Factors
98
404 (avg. 4.1)
69 (70.4%)
3 (3.1%)
D&D Character D&D Character
78
426 (avg. 5.5)
40 (51.3%)
1 (1.3%)
Pangram Pangram
622
1,138 (avg. 1.8)
545 (87.6%)
60 (9.6%)
Pig Latin Pig Latin
286
475 (avg. 1.7)
184 (64.3%)
7 (2.4%)
Roman Numerals Roman Numerals
557
819 (avg. 1.5)
383 (68.8%)
30 (5.4%)
Poker Poker
98
795 (avg. 8.1)
17 (17.3%)
0 (0.0%)
Linked List Linked List
108
865 (avg. 8.0)
55 (50.9%)
1 (0.9%)
Palindrome Products Palindrome Products
124
662 (avg. 5.3)
52 (41.9%)
1 (0.8%)
Darts Darts
96
491 (avg. 5.1)
46 (47.9%)
1 (1.0%)
Mask Credit Card Mask Credit Card
161
949 (avg. 5.9)
105 (65.2%)
3 (1.9%)
Ordinal Number Ordinal Number
227
1,265 (avg. 5.6)
112 (49.3%)
4 (1.8%)
Scale Generator Scale Generator
73
265 (avg. 3.6)
19 (26.0%)
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