当前位置:首页 > Web开发 > 正文

105 // 这意味着如果一个变量名后有圆括号

2024-03-31 Web开发

1 <?php 2 3 //函数 4 //用户自界说函数 5 // 函数名和 PHP 中的其它标识符定名法则不异。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。 6 7 // PHP 不撑持函数重载,整么破解qq空间访问权限 ,也不成能打消界说或者重界说已声明的函数。 8 // 函数名是巨细写无关的,保举与界说时不异。 9 function add($a,$b) 10 { 11 return $a + $b; 12 } 13 14 15 echo adD(2,3); //5 16 17 18 function func1() 19 { 20 function func2() 21 { 22 echo "hello world"; 23 } 24 } 25 26 // func2(); // 不成挪用,因为还不决义; 27 func1(); //挪用func1后,func2被界说了,下面就可以挪用了; 28 echo "<br>"; 29 func2(); //hello world 30 31 echo "<br>===============================================<br>"; 32 //函数的参数 33 //形参:其实就是只能在函数内部使用的变量; 34 //实参:其实就是赋值给形参变量的数据。 35 36 //函数参数的传值:实参变量通过什么方法传给形参变量 37 //函数参数通过值通报(即使在函数内部转变参数的值,它并不会转变函数外部的值)。 38 function func3($a) 39 { 40 $a++; 41 echo $a; 42 } 43 $n=1; 44 func3($n); // 2 45 echo $n; //1 46 echo "<br>===============================================<br>"; 47 //通过引用通报参数。允许转变函数外的实参变量的值; 48 //注意:引用通报的只能是变量,不能是常量。 49 function func4(&$a) 50 { 51 $a++; 52 echo $a; 53 } 54 $n=1; 55 func4($n); // 2 56 // func4(1); error 57 echo $n; //2 58 59 echo "<br>===============================================<br>"; 60 // 默认参数的值 61 // 注意:当使用默认参数时,任何默认参数必需放在任何非默认参数的右侧 62 function makecoffee($people,$type = "拿铁") 63 { 64 echo "<br>喂,{$people},给我来一杯$type 。"; 65 } 66 67 makecoffee("刘亦菲"); 68 makecoffee("刘亦菲",null); 69 makecoffee("刘亦菲","卡布奇诺"); 70 71 72 echo "<br>===============================================<br>"; 73 //返回值 74 //return可以返回包孕数组和东西的任意类型。返回语句会当即中止函数的运行,并且将控制权交回挪用该函数的代码行。 75 //函数不能返回多个值,但可以通过返回一个数组来得到类似的效果。 76 function small_numbers() 77 { 78 return array (0, 1, 2); 79 } 80 $array = small_numbers(); 81 var_dump ($array); //array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(2) } 82 83 function add1($a,$b) 84 { 85 return $a + $b; 86 } 87 //返回的值可以被随意挪用 88 var_dump (add(3,"4")*5 +6); // int(41) 89 // 函数没有返回值则var_dump()的功效为NULL 90 var_dump(var_dump (add(3,"4")*5 +6)); // NULL 91 92 //只有一个return则只结束函数不返回任何值; 93 function func5() 94 { 95 echo "只输出这一行"; 96 return ; 97 echo "这里不输出"; 98 99 } 100 func5(); 101 102 //可变函数 103 104 // 所谓可变函数,其实就是函数名是另一个变量的值。 105 // 这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且测验考试执行它。 106 // 类比于可变变量:$$a; 107 function f1($a) 108 { 109 echo $a; 110 } 111 $b="f1"; 112 $b("hahahaa"); 113 114 echo "<br>===============================================<br>"; 115 //扩展: 116 // strrchr(haystack, needle)这个函数的两个参数名的意思是:haystack干草堆,needle缝衣针,比方在干草堆里找缝衣针,大海捞针。 117 // 查找指定字符在字符串中的最后一次呈现位置,并返回它(包孕本身)之后的字符。 118 $a="liuyifei.gif"; 119 echo strrchr($a, "."); // .gif 120 //substr(string, start) 取出字符串中指定位置之后的N个字符 121 $a=‘abcdefgh‘; 122 echo substr($a, 2,2); //cd 123 echo substr($a, 2); //cdefgh ,默认取所有 124 echo substr($a, 2,100); //cdefgh 125 //可变函数的应用实例: 126 //按照用户上传的差别格局的图片做差此外措置惩罚惩罚; 127 128 function do_jpg($f) 129 { 130 echo "<br>在这里措置惩罚惩罚jpg格局的图片。"; 131 } 132 function do_png($f) 133 { 134 echo "<br>在这里措置惩罚惩罚png格局的图片。"; 135 } 136 function do_gif($f) 137 { 138 echo "<br>在这里措置惩罚惩罚gif格局的图片。"; 139 } 140 141 $file_name = $_GET[‘file_name‘]; // liuyifei.gif 142 $houzhui1 = strrchr($file_name,‘.‘); // .gif 143 $houzhui2 = substr($houzhui1,1); //gif 144 $function_name = "do_".$houzhui2; //do_gif 145 $function_name($file_name); 146 147 //匿名函数 148 echo "<br>===============================================<br>"; 149 150 $gbs = function ($n,$m) 151 { 152 for ($i=$n; ; $i+=$n) 153 { 154 if($i%$m==0) 155 { 156 echo "{$n}和{$m}的最小公倍数为".$i; 157 break; 158 } 159 } 160 161 /* $i=$n; 162 while ($i<=$i*$n) 163 { 164 if($i%$m==0) 165 { 166 echo "{$n}和{$m}的最小公倍数为".$i; 167 break; 168 } 169 else 170 { 171 $i+=$n; 172 } 173 }*/ 174 }; 175 176 $gbs(17,13); 177 echo "<br>===============================================<br>"; 178 179 //求最至条约数 180 //我的思路:两个数,假如,24、28,先都除以2看看,不能都除尽则除以3看看,一直往后除,如果除以2除尽了,得到12、14,则对这两个数再采纳同样的要领,先除以2..最后得到6、7,这两个数再都除以2,发明除不尽,往上+1,加到第一个数字6都不行,此时就终止措施,得到数字6,再把当初传入的第一个数字24除以6,得到的功效4即为24和28的最至条约数!!! 181 function gys($n,$m) 182 { 183 function gys1($n,$m) 184 { 185 $i=2; 186 while (1) 187 { 188 if ($n%$i==0 && $m%$i==0) 189 { 190 return gys1(($n/$i),($m/$i)) ;// 12,14; 6,7 191 } 192 $i+=1; 193 if($i>$n) 194 { 195 return $n; 196 } 197 } 198 } 199 $a = gys1($n,$m); 200 echo "<br>{$n}和{$m}的最至条约数为:".($n / $a); 201 } 202 203 gys(24,28); 204 205 206 ?>

PHP学习记录之函数

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29299.html