fork download
  1. <?php
  2. function search($array, $word, $word_so_far = '') {
  3. if ($word === $word_so_far) {
  4. return true;
  5. }
  6.  
  7. foreach ($array as $symbol) {
  8. $new_word = $word_so_far . $symbol;
  9. if (substr($word, 0, strlen($new_word)) === $new_word) {
  10. if (search($array, $word, $new_word)) {
  11. return true;
  12. }
  13. }
  14. }
  15.  
  16. return false;
  17. }
  18.  
  19. $symbols = array('p', 'pa', 'aw');
  20. var_dump(search($symbols, 'paw')); // true
  21. var_dump(search($symbols, 'ppppawpa')); // true
  22. var_dump(search($symbols, 'ppawap')); // false
  23.  
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
bool(true)
bool(true)
bool(false)