Creating an algorithm to find all of fibonacci numbers between 0 and $x is a simple exercise in recursion, but how do we find out whether a given number is a fibonacci number?

The wikipedia entry gives us the algorithm, but how can we implement it in PHP? Below is a simple, fast code snippet that takes a number as input and returns true if the number is a fibonacci number, and false otherwise:

function isFibonacci($number) { $test_1 = sqrt(5 * pow($number, 2) + 4); $test_2 = sqrt(5 * pow($number, 2) - 4); return ctype_digit((string)$test_1) || ctype_digit((string)$test_2); } isFibonacci(25); //false isFibonacci(1597); //true

If this helped you, leave a message in the comments below! See you all next time!