Skip to content

List of PHP Kata to Update

interrupt-routine edited this page Jun 22, 2025 · 59 revisions

PHP 8.0 with PHPUnit 9.5.2 was added. The kata on this page needs to be updated manually. Any help is appreciated!

Summary of Changes

  • Files are no longer concatenated, but it should work very similarly as before because solution and preloaded files are autoloaded
  • The name of the test class now required to end with Test
  • Solution and Preloaded file should have <?php
    • Runner prepends this if missing for backwards compatibility, but any new code should include it
  • Test file should have <?php use PHPUnit\Framework\TestCase;
    • Runner prepends this if <?php is missing for backwards compatibility, but any new code should include it
  • PHPUnit is updated to 9.5.2 so there are some breaking changes

List of Kata

  1. 'Magic' recursion call depth number
  2. Brainfuck Translator
  3. Buddy Pairs
  4. Burrows-Wheeler-Transformation
  5. Buying a car
  6. Car Park Escape
  7. Catalog
  8. Challenge Fun #14: Target Game
  9. Check and Mate?
  10. Ciphers #1 - The 01 Cipher
  11. Color Choice
  12. Connect 4
  13. Count up the points for the 7 Wonders board game! Easy version
  14. Creating a custom PHP stream wrapper
  15. Divide numbers as strings
  16. Domain name validator
  17. Don't rely on luck.
  18. Esolang Interpreters #1 - Introduction to Esolangs and My First Interpreter (MiniStringFuck)
  19. Esolang: InfiniTick
  20. Evaluate mathematical expression
  21. Experimenting with a sequence of complex numbers
  22. Factorial decomposition
  23. Family Gift Exchange / Names Out of a Hat
  24. Fibo akin
  25. Financing Plan on Planet XY140Z-n
  26. Find all pairs
  27. Functions of Integers on Cartesian Plane
  28. Generate keywords
  29. Get angle between hour and minute hands
  30. Get Password from grid
  31. Going to the cinema
  32. Going to zero or to infinity?
  33. Good words
  34. Hofstadter Q
  35. How many dots are covered
  36. How Much?
  37. Human readable duration format
  38. Hungry Hippos
  39. Implement the (Unnormalized) Cardinal Sine
  40. IPv4 Network and Broadcast Addresses
  41. Is my friend cheating?
  42. Is there an arrow missing ? (Relations - Part1: Reflexivity)
  43. John and Ann sign up for Codewars
  44. Largest Palindromic Product
  45. League Player Rank
  46. Linked Lists - Get Nth Node
  47. Linked Lists - Insert Nth Node
  48. List of all Rationals
  49. MAC Address : Regexp
  50. Make sets
  51. Mirrored Exponential Chunks
  52. Mystery Class
  53. Object-Oriented PHP #1 - Classes, Public Properties and Methods
  54. Object-Oriented PHP #10 - Objects on the Fly [Advanced]
  55. Object-Oriented PHP #6 - Visibility
  56. Object-Oriented PHP #9 - Abstract Classes [Advanced]
  57. One Line Task: Largest Rectangle
  58. Ordered Count of Characters
  59. Pattern Generator
  60. Pattern Generator (mirrored)
  61. Perimeter of squares in a rectangle
  62. PHP Functions - Return Type Declarations
  63. PHP Functions - Type Declarations
  64. PHP Immutable
  65. PHP in Action #5 - PHPMailer Intro
  66. Pigs in a Pen
  67. Points in the circle
  68. Pokemon Damage Calculator
  69. Positions Average
  70. Product of two squares
  71. Pull your words together, man!
  72. Rectangle into Squares
  73. Reflection in PHP #1 - Introduction
  74. Reflection in PHP #3 - Using Reflection on Classes
  75. Reflection in PHP #4 - Puzzle Challenge [Assessment]
  76. RoboScript #4 - RS3 Patterns to the Rescue
  77. Roman Numerals Decoder
  78. Round To Nearest
  79. Screen Locking Patterns
  80. Selective memory
  81. Shortest Distance to a Character
  82. Simple assembler interpreter
  83. Simple consecutive pairs
  84. Simplifying multilinear polynomials
  85. Smallest possible sum
  86. Snakes and Ladders
  87. Square Pi's
  88. String Scramble
  89. Sum Mixed Array
  90. Text align justify
  91. Texting with an old-school mobile phone
  92. The Skiponacci Sequence
  93. The Walker
  94. URL building
  95. Wave Sorting
  96. We are Family
  97. Weight for weight

After changing assertEquals with assertSame to avoid this problem some katas failed the automatic change and require manual editing:

  1. A Rule of Divisibility by 7
  2. Area of an arrow
  3. Binary Genetic Algorithms
  4. Brainfuck Translator
  5. Buying a car
  6. Calculate mean and concatenate string
  7. Closest and Smallest
  8. Convert a String to a Number!
  9. Creating a custom PHP stream wrapper
  10. Disease Spread
  11. Driving School Series #2
  12. Easy Cyclist's Training
  13. Easy Line
  14. Euclidean distance in n dimensions
  15. Fibonacci, Tribonacci and friends
  16. Financing Plan on Planet XY140Z-n
  17. Find the Middle of the Product
  18. Find the area of the rectangle!
  19. FizzBuzz++
  20. Fun with lists: filter
  21. Fun with lists: map
  22. Functions of Integers on Cartesian Plane
  23. Heron's formula
  24. How good are you really?
  25. How many dots are covered
  26. League Player Rank
  27. Looking for a benefactor
  28. MAC Address : Regexp
  29. Molecule to atoms
  30. Mutual Recursion
  31. One Line Task: Largest Rectangle
  32. Ordered Count of Characters
  33. Parse a linked list from a string
  34. Pascal's Triangle
  35. Pattern Generator (mirrored)
  36. Program a Calculator #2 - 3D Vectors
  37. Quarter of the year
  38. Regex Tic Tac Toe Win Checker
  39. Regexp Basics - is it IPv4 address?
  40. Return the closest number multiple of 10
  41. Return the first M multiples of N
  42. Reverse polish notation calculator
  43. Screen Locking Patterns
  44. Send in the Clones
  45. Simple Fun #181: Rounding
  46. Simple Fun #74: Growing Plant
  47. Simple Fun #87: Shuffled Array
  48. Square Pi's
  49. Sum and Length
  50. Sum of Array Averages
  51. Sum of Intervals
  52. Sum of positive
  53. The Walker
  54. Tiny Three-Pass Compiler
  55. Tortoise racing
  56. Wave Sorting
  57. We are Family
  58. simple calculator
Clone this wiki locally