Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Exercism

PHP

via Exercism

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
PHP is a server-side language suited towards web development. The acronym is recursive, standing for PHP: Hypertext Preprocessor. Considerably more versatile than CGI scripting, PHP is often used to add interactivity to plain HTML and bolster web frameworks. The language can be employed on any operating system. PHP is supported by most common web servers and is often handled through an interpreter module. This combines static web code with dynamic inclusions.

Syllabus

  • Hello World
    • Exercism's classic introductory exercise. Just say "Hello, World!".
  • Lucian's Luscious Lasagna
    • Learn about the basics of PHP syntax!
  • Highschool Sweethearts
    • Learn about love and strings!
  • Pizza Pi
    • Learn about integers, floating point numbers and pizza!
  • Annalyn's Infiltration
    • Learn about role playing games and boolean values!
  • Windowing System
    • Learn about classes by developing a windowing system!
  • Language List
    • Learn about functions and arrays!
  • City Office
    • Learn about type declarations and form validation!
  • Lucky Numbers
    • Practice type juggling while helping your friend Kojo with his website.
  • Reverse String
    • Reverse a given string.
  • Resistor Color
    • Convert a resistor band's color to its numeric representation.
  • Line up
    • Help lining up customers at YaÊ»qÅ«b's Deli.
  • Hamming
    • Calculate the Hamming distance between two DNA strands.
  • Resistor Color Duo
    • Convert color codes, as used on resistors, to a numeric value.
  • Proverb
    • For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
  • Gigasecond
    • Given a moment, determine the moment that would be after a gigasecond has passed.
  • Tournament
    • Tally the results of a small football competition.
  • Simple Cipher
    • Implement a simple shift cipher like Caesar and a more secure substitution cipher
  • High Scores
    • Manage a player's High Score list.
  • Bob
    • Bob is a lackadaisical teenager. In conversation, his responses are very limited.
  • RNA Transcription
    • Given a DNA strand, return its RNA complement.
  • Luhn
    • Given a number determine whether or not it is valid per the Luhn formula.
  • Isogram
    • Determine if a word or phrase is an isogram.
  • Resistor Color Trio
    • Convert color codes, as used on resistors, to a human-readable label.
  • Robot Name
    • Manage robot factory settings.
  • Twelve Days
    • Output the lyrics to 'The Twelve Days of Christmas'.
  • Difference of Squares
    • Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
  • Grade School
    • Given students' names along with the grade that they are in, create a roster for the school.
  • Robot Simulator
    • Write a robot simulator.
  • Run-Length Encoding
    • Implement run-length encoding and decoding.
  • Largest Series Product
    • Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
  • Acronym
    • Convert a long phrase to its acronym.
  • All Your Base
    • Convert a number, represented as a sequence of digits in one base, to any other base.
  • Anagram
    • Given a word and a list of possible anagrams, select the correct sublist.
  • Atbash Cipher
    • Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
  • Bowling
    • Score a bowling game.
  • Change
    • Correctly determine change to be given using the least number of coins.
  • Clock
    • Implement a clock that handles times without dates.
  • Collatz Conjecture
    • Calculate the number of steps to reach 1 using the Collatz conjecture.
  • Connect
    • Compute the result for a game of Hex / Polygon.
  • Crypto Square
    • Implement the classic method for composing secret messages called a square code.
  • Diamond
    • Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
  • ETL
    • Change the data format for scoring a game to more easily add other languages.
  • Leap
    • Determine whether a given year is a leap year.
  • Matching Brackets
    • Make sure the brackets and braces all match.
  • Meetup
    • Calculate the date of meetups.
  • Flower Field
    • Mark all the flowers in a garden.
  • Nucleotide Count
    • Given a DNA string, compute how many times each nucleotide occurs in the string.
  • Perfect Numbers
    • Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
  • Phone Number
    • Clean up user-entered phone numbers so that they can be sent SMS messages.
  • Rail Fence Cipher
    • Implement encoding and decoding for the rail fence cipher.
  • Series
    • Given a string of digits, output all the contiguous substrings of length `n` in that string.
  • Sieve
    • Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
  • Space Age
    • Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
  • Transpose
    • Take input text and output it transposed.
  • Triangle
    • Determine if a triangle is equilateral, isosceles, or scalene.
  • Two Fer
    • Create a sentence of the form "One for X, one for me.".
  • Variable Length Quantity
    • Implement variable length quantity encoding and decoding.
  • Word Count
    • Given a phrase, count the occurrences of each word in that phrase.
  • Wordy
    • Parse and evaluate simple math word problems returning the answer as an integer.
  • Armstrong Numbers
    • Determine if a number is an Armstrong number.
  • Flatten Array
    • Take a nested list and return a single list with all values except nil/null.
  • Queen Attack
    • Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.
  • Protein Translation
    • Translate RNA sequences into proteins.
  • Raindrops
    • Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
  • Scrabble Score
    • Given a word, compute the Scrabble score for that word.
  • Sum of Multiples
    • Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
  • Affine Cipher
    • Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
  • Allergies
    • Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
  • Binary Search
    • Implement a binary search algorithm.
  • Book Store
    • To try and encourage more sales of different books from a popular 5 book series, a bookshop has decided to offer discounts of multiple-book purchases.
  • Grains
    • Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
  • Markdown
    • Refactor a Markdown parser
  • Nth Prime
    • Given a number n, determine what the nth prime is.
  • OCR Numbers
    • Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
  • Pascal's Triangle
    • Compute Pascal's triangle up to a given number of rows.
  • Matrix
    • Given a string representing a matrix of numbers, return the rows and columns of that matrix.
  • Prime Factors
    • Compute the prime factors of a given natural number.
  • D&D Character
    • Randomly generate Dungeons & Dragons characters.
  • Pangram
    • Determine if a sentence is a pangram.
  • Strain
    • Implement the `keep` and `discard` operation on collections.
  • Pig Latin
    • Implement a program that translates from English to Pig Latin.
  • Roman Numerals
    • Convert modern Arabic numbers into Roman numerals.
  • Sublist
    • Write a function to determine if a list is a sublist of another list.
  • Poker
    • Pick the best hand(s) from a list of poker hands.
  • Linked List
    • Implement a doubly linked list.
  • Palindrome Products
    • Detect palindrome products in a given range.
  • Darts
    • Calculate the points scored in a single toss of a Darts game.
  • Mask Credit Card
    • Create a function to mask digits of a credit card number.
  • House
    • Output the nursery rhyme 'This is the House that Jack Built'.
  • Bank Account
    • Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
  • Alphametics
    • Given an alphametics puzzle, find the correct solution.
  • Micro Blog
    • Given an input string, truncate it to 5 characters.
  • Yacht
    • Score a single throw of dice in the game Yacht.
  • Binary Search Tree
    • Insert and search for numbers in a binary tree.
  • ISBN Verifier
    • Check if a given string is a valid ISBN-10 number.
  • Say
    • Given a number from 0 to 999,999,999,999, spell out that number in English.
  • List Ops
    • Implement basic list operations.
  • Spiral Matrix
    • Given the size, return a square matrix of numbers in spiral order.
  • Zebra Puzzle
    • Solve the zebra puzzle.
  • Knapsack
    • Given a knapsack that can only carry a certain weight, determine which items to put in the knapsack in order to maximize their combined value.
  • Secret Handshake
    • Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
  • Killer Sudoku Helper
    • Write a tool that makes it easier to solve Killer Sudokus
  • Circular Buffer
    • A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
  • State of Tic-Tac-Toe
    • Determine the game state of a match of Tic-Tac-Toe.
  • Food Chain
    • Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
  • Kindergarten Garden
    • Given a diagram, determine which plants each child in the kindergarten class is responsible for.
  • Rotational Cipher
    • Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
  • Two Bucket
    • Given two buckets of different size, demonstrate how to measure an exact number of liters.
  • Eliud's Eggs
    • Help Eliud count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.

Reviews

Start your review of PHP

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.