1--TEST-- 2General function test 3--FILE-- 4<?php 5 6function a() 7{ 8 echo "hey\n"; 9} 10 11function b($i) 12{ 13 echo "$i\n"; 14} 15 16 17function c($i,$j) 18{ 19 echo "Counting from $i to $j\n"; 20 for ($k=$i; $k<=$j; $k++) { 21 echo "$k\n"; 22 } 23} 24 25 26 27a(); 28b("blah"); 29a(); 30b("blah","blah"); 31c(7,14); 32 33a(); 34 35 36function factorial($n) 37{ 38 if ($n==0 || $n==1) { 39 return 1; 40 } else { 41 return factorial($n-1)*$n; 42 } 43} 44 45 46function factorial2($start, $n) 47{ 48 if ($n<=$start) { 49 return $start; 50 } else { 51 return factorial2($start,$n-1)*$n; 52 } 53} 54 55 56for ($k=0; $k<10; $k++) { 57 for ($i=0; $i<=10; $i++) { 58 $n=factorial($i); 59 echo "factorial($i) = $n\n"; 60 } 61} 62 63 64echo "and now, from a function...\n"; 65 66function call_fact() 67{ 68 echo "(it should break at 5...)\n"; 69 for ($i=0; $i<=10; $i++) { 70 if ($i == 5) break; 71 $n=factorial($i); 72 echo "factorial($i) = $n\n"; 73 } 74} 75 76function return4() { return 4; } 77function return7() { return 7; } 78 79for ($k=0; $k<10; $k++) { 80 call_fact(); 81} 82 83echo "------\n"; 84$result = factorial(factorial(3)); 85echo "$result\n"; 86 87$result=factorial2(return4(),return7()); 88echo "$result\n"; 89 90function andi($i, $j) 91{ 92 for ($k=$i ; $k<=$j ; $k++) { 93 if ($k >5) continue; 94 echo "$k\n"; 95 } 96} 97 98andi (3,10); 99?> 100--EXPECT-- 101hey 102blah 103hey 104blah 105Counting from 7 to 14 1067 1078 1089 10910 11011 11112 11213 11314 114hey 115factorial(0) = 1 116factorial(1) = 1 117factorial(2) = 2 118factorial(3) = 6 119factorial(4) = 24 120factorial(5) = 120 121factorial(6) = 720 122factorial(7) = 5040 123factorial(8) = 40320 124factorial(9) = 362880 125factorial(10) = 3628800 126factorial(0) = 1 127factorial(1) = 1 128factorial(2) = 2 129factorial(3) = 6 130factorial(4) = 24 131factorial(5) = 120 132factorial(6) = 720 133factorial(7) = 5040 134factorial(8) = 40320 135factorial(9) = 362880 136factorial(10) = 3628800 137factorial(0) = 1 138factorial(1) = 1 139factorial(2) = 2 140factorial(3) = 6 141factorial(4) = 24 142factorial(5) = 120 143factorial(6) = 720 144factorial(7) = 5040 145factorial(8) = 40320 146factorial(9) = 362880 147factorial(10) = 3628800 148factorial(0) = 1 149factorial(1) = 1 150factorial(2) = 2 151factorial(3) = 6 152factorial(4) = 24 153factorial(5) = 120 154factorial(6) = 720 155factorial(7) = 5040 156factorial(8) = 40320 157factorial(9) = 362880 158factorial(10) = 3628800 159factorial(0) = 1 160factorial(1) = 1 161factorial(2) = 2 162factorial(3) = 6 163factorial(4) = 24 164factorial(5) = 120 165factorial(6) = 720 166factorial(7) = 5040 167factorial(8) = 40320 168factorial(9) = 362880 169factorial(10) = 3628800 170factorial(0) = 1 171factorial(1) = 1 172factorial(2) = 2 173factorial(3) = 6 174factorial(4) = 24 175factorial(5) = 120 176factorial(6) = 720 177factorial(7) = 5040 178factorial(8) = 40320 179factorial(9) = 362880 180factorial(10) = 3628800 181factorial(0) = 1 182factorial(1) = 1 183factorial(2) = 2 184factorial(3) = 6 185factorial(4) = 24 186factorial(5) = 120 187factorial(6) = 720 188factorial(7) = 5040 189factorial(8) = 40320 190factorial(9) = 362880 191factorial(10) = 3628800 192factorial(0) = 1 193factorial(1) = 1 194factorial(2) = 2 195factorial(3) = 6 196factorial(4) = 24 197factorial(5) = 120 198factorial(6) = 720 199factorial(7) = 5040 200factorial(8) = 40320 201factorial(9) = 362880 202factorial(10) = 3628800 203factorial(0) = 1 204factorial(1) = 1 205factorial(2) = 2 206factorial(3) = 6 207factorial(4) = 24 208factorial(5) = 120 209factorial(6) = 720 210factorial(7) = 5040 211factorial(8) = 40320 212factorial(9) = 362880 213factorial(10) = 3628800 214factorial(0) = 1 215factorial(1) = 1 216factorial(2) = 2 217factorial(3) = 6 218factorial(4) = 24 219factorial(5) = 120 220factorial(6) = 720 221factorial(7) = 5040 222factorial(8) = 40320 223factorial(9) = 362880 224factorial(10) = 3628800 225and now, from a function... 226(it should break at 5...) 227factorial(0) = 1 228factorial(1) = 1 229factorial(2) = 2 230factorial(3) = 6 231factorial(4) = 24 232(it should break at 5...) 233factorial(0) = 1 234factorial(1) = 1 235factorial(2) = 2 236factorial(3) = 6 237factorial(4) = 24 238(it should break at 5...) 239factorial(0) = 1 240factorial(1) = 1 241factorial(2) = 2 242factorial(3) = 6 243factorial(4) = 24 244(it should break at 5...) 245factorial(0) = 1 246factorial(1) = 1 247factorial(2) = 2 248factorial(3) = 6 249factorial(4) = 24 250(it should break at 5...) 251factorial(0) = 1 252factorial(1) = 1 253factorial(2) = 2 254factorial(3) = 6 255factorial(4) = 24 256(it should break at 5...) 257factorial(0) = 1 258factorial(1) = 1 259factorial(2) = 2 260factorial(3) = 6 261factorial(4) = 24 262(it should break at 5...) 263factorial(0) = 1 264factorial(1) = 1 265factorial(2) = 2 266factorial(3) = 6 267factorial(4) = 24 268(it should break at 5...) 269factorial(0) = 1 270factorial(1) = 1 271factorial(2) = 2 272factorial(3) = 6 273factorial(4) = 24 274(it should break at 5...) 275factorial(0) = 1 276factorial(1) = 1 277factorial(2) = 2 278factorial(3) = 6 279factorial(4) = 24 280(it should break at 5...) 281factorial(0) = 1 282factorial(1) = 1 283factorial(2) = 2 284factorial(3) = 6 285factorial(4) = 24 286------ 287720 288840 2893 2904 2915 292