<?php
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class Solution
							 | 
						|
								{
							 | 
						|
								    const letters = [
							 | 
						|
								        2 => ['a','b','c'],
							 | 
						|
								        3 => ['d','e','f'],
							 | 
						|
								        4 => ['g','h','i'],
							 | 
						|
								        5 => ['j','k','l'],
							 | 
						|
								        6 => ['m','n','o'],
							 | 
						|
								        7 => ['p','q','r','s'],
							 | 
						|
								        8 => ['t','u','v'],
							 | 
						|
								        9 => ['w','x','y','z']
							 | 
						|
								    ];
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param mixed $digits
							 | 
						|
								     * @access public
							 | 
						|
								     * @return array
							 | 
						|
								     */
							 | 
						|
								    public static function letterCombinations($digits): array
							 | 
						|
								    {
							 | 
						|
								        if ($digits === '') {
							 | 
						|
								            return [];
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        $lookupResult = [];
							 | 
						|
								        $x = 0;
							 | 
						|
								        while (count($lookupResult) === 0) {
							 | 
						|
								            $lookupResult = self::letters[$digits[$x]] ?? [];
							 | 
						|
								            $x++;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        for ($i = 1; $i < strlen($digits); $i++) {
							 | 
						|
								            $temp = [];
							 | 
						|
								
							 | 
						|
								            foreach (self::letters[$digits[$i]] as $char) {
							 | 
						|
								                foreach ($lookupResult as $r) {
							 | 
						|
								                    $temp[] = $r . $char;
							 | 
						|
								                }
							 | 
						|
								            }
							 | 
						|
								
							 | 
						|
								            $lookupResult = $temp;
							 | 
						|
								        }
							 | 
						|
								        return $lookupResult;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 |