php学习随记1
<?php # 1. Hello World header("Content-type:text/html;charset=utf-8");#解决中文乱码 echo "hello world"; # 2. 变量 字符串啥的 #必须是$符号开头 用的时候也要带这个他 $a = 1; $b = 3; $c = $a + $b; echo "\n$c"; #据说双引号里的变量名称会被替换成实际值 echo '\n$c'; #单引号还不支持转义字符!! echo "<br>第一个换行"; echo '<br>第二个换行'; # 你好 <br> 然而并不好std; #数组 $arr1 = array('你','好'); echo "<br>$arr1[1]"; $arr2 = array(0=>'n'); echo "<br>$arr2[0]"; #常量 define('Bitch', 111); echo "<br>".Bitch.$arr2[0]; #用.来连接字符串和变量 echo "<br>".__FILE__;#php提供了几个常量 这个是其中一个 #变量的作用域 # 1)函数内部的作用域就是函数 # 2)函数外部的是整个php 但是用户自定义的函数无法使用 # 要想使用必须使用 $heng = 'ha'; function hello(){ global $heng; echo "<br>".$heng; } hello(); #动态变量 #并不是我想的那样 /* $a1 = 1; $b1 = $a1; echo "<br>".$b1; $a1 = 2; echo "<br>".$b1; */ $chang_name = "trans"; $trans = 'You can see me'; echo "<br>$chang_name----$$chang_name"; #php内置好多预定义的变量 使用前必须先赋值给一个我们自己定义的 #变量才能用 参考 http://php.net/manual/zh/reserved.variables.php $host = $_SERVER['HTTP_HOST']; echo "<br>$host"; #字符串运算符 #只有.这一个运算符号 不能使用加号 echo "<br>$a"."$b";//13 echo "<br>".("$a"+"$b");//4 #连接字符 $a.=$b;#相当于 $a = $a.$b; echo "<br>".$a; #逻辑运算 && = and, || = or,异或运算xor 一真一假 则为 真 if ($a and $b) { echo "<br>条件成立"; } [email protected] $worry = @(5 / 0); #php函数 类似于javascript function HelloWorld(){ echo "<br><b>nihao</b>"; } HelloWorld(); #引用传值 和c++一样 默认参数 和c一样 $a10 = 8; function zijia(&$a){ $a += 10; } zijia($a10); echo "<br>$a10"; #支持变量函数 所谓变量函数就是使用变量名字调用函数 $func = "HelloWorld"; $func(); #对函数的引用的就是对函数返回值的应用 function h(){ return "HelloWorld"; } $aaaa = h(); echo "<br>".$aaaa; #声明一个引用类型的函数 #发现引用函数不能直接返回一个常量 #所以 可以预见的是它返回的是一个变量的 #地址 而不是copy一个值直接复制给接收的变量 function &hh(){ $str = "HelloWorld"; return $str; } $bbbb = &hh(); echo "<br>$bbbb"; #当引用结束的时候可以通过unset()来解除引用 #php命名规范 #类名使用驼峰法 #类属性前面就前缀m #类的方法命名 一般规律前缀如 IS Get Set #变量使用小驼峰命名 #引用变量要有前缀r 全局变量有加g前缀 静态变量使用s前缀 #变量分割使用_ #方法,类在不是用_ 而是使用大小写就可以了 #php流程控制语句 和其他语言一样 多出了一个foreach() #类似于java的增强for循环 #在一个复杂的php页面中可能包含多个条件语句,循环语句 #和函数 使用{}会很麻烦 所以php提供了另外一个方式 使用":" #代替"{",使用"end*"代替"}" #支持endif,endwhile,endfor,endreach,endswitch $s = 1; echo "<br>"; while($s++ "; endwhile; ?>