<?php
    str_replace(“World”,”Shanghai”,”Hello World”); // 将 World 替换成 Shanghai
    // 启动Apache,将文件放于phpstudy_pro/www/php 中,可以浏览器访问
    //phpinfo(); // 输出php信息

    1. // echo 输出,无返回值 print:输出,输出成功返回 1 , print_r():输出数组,打印变量,var_dump():输出数据详细信息,含有数据类型和长度
    2. // 页面字符编码<br /> header('Content-Type:text/html;charset=utf-8');
    3. // 重新导向指定的 url <br /> //header('Location:http://www.baidu.com'); // 页面特定页(首页)
    4. echo "Hello World !<br><br>";
    5. var_dump("sss"); // 输出 string(3) "sss"
    6. echo "<br><br>举起手来 !";<br /> echo "<br><br>"; // 输出换行
    7. // 变量在内存中 ,php 不需要关键字定义变量<br /> $i; // 定义变量<br /> $i = 10; // 变量赋值<br /> echo $i; // 访问变量<br /> echo "<br><br>";<br /> $i = 55; // 修改变量<br /> echo $i;<br /> echo "<br><br>";<br /> // 删除变量使用 unset() 销毁变量名,变量值是由php 垃圾回收机制销毁 <br /> // ★★★ isset() 用于检查变量是否被设置为空(Null),不存在返回false,存在并为null返回false,存在且不为null返回true
    8. // 变量必须以 $ 开头,$ 是变量标识符,变量名可以是字母、数字、下划线,但是 不能以 数字开头 $1a 不合法<br /> // 变量名严格区分大小写,$Aa 和 $aa 占用两个内存空间<br /> // 预定义变量(都是数组)<br /> // $_GET : 获取所有以get方式提交数据的表单<br /> // $_POST : POST 提交的数据保存在此<br /> // $_REQUEST : GET 和 POST 提交的都会保存<br /> // $_SESSION : session 会话数据<br /> // $_SERVER : 服务器信息<br /> // $_ENV : 环境信息<br /> // $_FILES : 用户上传的文件的信息<br /> // $GLOBALS : php 中所有的全局变量<br /> // $COOKIE : cookie 会话数据
    9. // 变量传值 :值传递 , 引用传递(地址传递)<br /> // 值传递 : 两个变量,两块内存空间,互不影响<br /> // 地址传递 : 两个变量,一块内存空间
    10. // 值传递 <br /> $a = 6;<br /> $b = $a;<br /> $b = 39;<br /> echo "$a , $b";<br /> echo "<br><br>";
    11. // 地址传递<br /> $a = 88;<br /> $b = &$a; // $a 的地址 给了$b <br /> $b = 99;<br /> echo "$a , $b "; // 变量可以使用 “” 调用 <br /> echo "<br><br>";
    12. <br /> // 常量由字母、数字、下划线组成,但是数字不能开头<br /> // 定义常量 define(常量名,值,是否大小写) true:不区分,默认值false:区分大小写<br /> // 定义常量 const 常量名 = ‘常量值’ ;<br /> define("NAME","tom");<br /> //define("PI",3.14,true); // 已弃用<br /> echo NAME; // 常量不能使用 “” 输出,否则会原样输出<br /> echo "<br><br>";<br />
    13. // 特殊字符 常量名 ,调用时需要 constant<br /> define("%-%","mmm");<br /> echo constant("%-%");<br /> echo "<br><br>";
    14. // 使用const关键字定义常量<br /> const PI = 3.14;<br /> echo PI;<br /> echo "<br><br>";<br /> <br /> <br /> // php 中数据类型 : 数据本身的类型 <br /> // 8种,Boolean布尔、integer整型、float/double浮点型、string字符串||(标量型),array数组、object对象||(复合型),resource资源、null<br /> // is_类型(变量名) 查看变量所保存数据 的数据类型<br /> // Boolean类型 不能用echo 查看,使用 var_dump(is_类型(变量名))查看<br /> $a = 5; $b = true;<br /> // var_dump(is_int($a)); // bool(true)<br /> // var_dump(is_bool($a)); // bool(false)<br /> // var_dump(is_bool($b)); // bool(true)<br /> <br /> <br /> // 整数 4 个字节,八进制前加0 , 十六进制前加 0x <br /> $n1 = 10; // 十进制,10<br /> $n2 = 010; // 八进制,8<br /> $n3 = 0x10; // 十六进制,16<br /> echo "$n1 , $n2 , $n3","<br><br>";
    15. // 进制转换 十进制dec 二进制bin 八进制oct 十六进制hex<br /> echo decbin("8"),"<br><br>"; // 十 => 二<br /> echo bindec("1000"),"<br><br>"; // 二 => 十<br /> echo dechex("16"),"<br><br>"; // 十 => 十六<br /> echo hexdec("10"),"<br><br>"; // 十六 => 十 <br /> <br /> // 浮点型 , 不保证精确度<br /> $a = 0.13;<br /> $c = 0.222e10;<br /> echo "$a , $c,<br><br>";
    16. $f1 = 0.21;<br /> $f2 = 0.3;<br /> $f3 = $f1/$f2;<br /> echo $f3,"<br><br>";
    17. // 定义字符串 :‘’ 单引号, ”“ 双引号 , <<< 定界符<br /> // 单引号会原样输出 , 双引号会解析字符串中的变量<br /> $name = "dan";<br /> echo '你好 $name <br><br>'; // 你好 $name <br /> echo "你好 $name <br><br>"; // 你好 dan
    18. // { } 获取变量 只需要 { 与 $ 紧挨着<br /> echo "{$name} 你好 <br><br>" ; // dan 你好<br /> echo "${name} 你好 <br><br>"; // dan 你好
    19. // 转义字符<br /> echo '\'上课认真听讲\' <br><br>'; // 含有转义字符,需要以单引号 , '上课认真听讲' <br /> echo '文件保存在C:\\ <br><br>'; // 文件保存在C:\
    20. // 定界符 EOF 按照原样输出其内部的东西,定界符中的任何字符都不需要转义
    21. // PHP的算术运算符 + - * / % , % 取余,被除数是负数,取得的结果也是负值<br /> // 递增 、 递减 num++ num-- <br /> $num = 1;<br /> // echo $num++; // 1<br /> // echo ++$num; // 2
    22. // 连续输出,以上一个值做开始值<br /> echo ($num++)+($num++)+($num++); // 返回 6 1+2+3<br /> echo "<br><br>";<br /> // echo (++$num)+(++$num)+(++$num); // 返回 9 2+3+4<br /> // echo "<br><br>";<br /> // echo ($num++)+(++$num)+($num++); // 返回 7 1+3+3<br /> // echo "<br><br>";<br />
    23. // 比较运算符(关系运算符)返回结果:布尔值 === 数值以及数据类型相同 !== 只有大小或类型不同
    24. // 逻辑运算符<br /> $aaa = 12;<br /> if($aaa > 10 || $aaa < 2){<br /> echo "true <br><br>";<br /> }else{<br /> echo "false";<br /> }
    25. // 字符串运算符 英文(.), 将两个字符串连接起来<br /> echo 'aaa'.'bbb <br><br>';<br /> echo 'zhang'.'yue <br><br>';
    26. // 错误抑制符 @ , 将要报错的内容 不加显示<br /> $m1 = 10; $m2 = 0;<br /> //echo @($m1/$m2); // @放于 echo 之后
    27. // 三元运算符<br /> $test = 'dsdsd';<br /> $testname = isset($test) ? $test : 'SIS';<br /> echo $testname,PHP_EOL; // PHP_EOL 换行符
    28. echo "<hr>";<br /> // 流程控制 : 顺序结构、分支结构、循环结构
    29. // ★★★ if else 使用<br /> $grade = 80;<br /> if($grade >= 60 && $grade <= 100){<br /> echo "及格了";<br /> }else{<br /> echo "不及格";<br /> }<br /> echo "<br><br>";
    30. $t = date("H");<br /> if($t <= 20){<br /> echo "Have a good day . ";<br /> }<br /> echo "<br><br>";
    31. // for 循环之 死循环 : 无判断条件,无增量
    32. // ★★★ if elseif else 使用<br /> $number = 33;<br /> if($number %2 == 0){<br /> echo "该数字是 偶数";<br /> }elseif($number %2 ==1 ){<br /> echo "该数字是 奇数";<br /> }else{<br /> echo "该数据格式错误";<br /> }<br /> echo "<br><br>";
    33. // ★★★ 循环输出 1 到 100<br /> for($i=1;$i<=100;$i++){<br /> echo "$i ";<br /> //echo '<br>'; // 换行输出<br /> //echo nl2br("\n"); // 换行作用<br /> }<br /> echo "<br><br>";
    34. // do...while 实现 1 到 10 偶数输出<br /> $i = 1;<br /> do{<br /> if($i%2 == 0){<br /> echo "$i ";<br /> }<br /> $i++;<br /> }while($i<=10);<br /> echo "<br><br>";
    35. // break 终止当前循环, 也可以指定跳出某一循环<br /> for($i=1;$i<=10;$i++){<br /> if($i==5){<br /> break;<br /> }<br /> echo "$i "; // 1 2 3 4 <br /> }<br /> echo "<br><br>";
    36. <br /> // continue 结束当前循环,继续下一循环<br /> for($i=1;$i<=10;$i++){<br /> if($i==5){<br /> continue;<br /> }<br /> echo "$i "; // 1 2 3 4 6 7 8 9 10 <br /> }<br /> echo "<br><br>";<br /> // break 跳出指定循环<br /> for($j=1;$j<=10;$j++){<br /> switch($j){<br /> case 5:<br /> echo "$j ";<br /> break;<br /> }<br /> }<br /> echo "<br><br>";
    37. // 函数调用, 求数的平方<br /> function multiply($num){<br /> echo "$num * $num = ".$num*$num;<br /> }<br /> multiply(5); // $var = "multiply"; $var(5);<br /> echo "<br><br>";
    38. // 参数传递<br /> $mm = 10;<br /> function fun($arg){<br /> $arg = 100;<br /> }<br /> fun($mm);<br /> echo $mm; //操作形参,不会影响实参<br /> echo "<br><br>";<br /> <br /> // 地址传递<br /> $mm = 10;<br /> function fun1(&$arg){<br /> $arg = 100;<br /> }<br /> fun1($mm);<br /> echo $mm,"<br><br>";
    39. // 参数默认值<br /> function df($name,$address='地址...'){<br /> echo "姓名 :".$name,"<br><br>";<br /> echo "地址 : ".$address,"<br><br>";<br /> }<br /> df("dan","北京");<br /> df("yi");
    40. // return 参数传递<br /> function rt($a,$b,$c){<br /> echo $a ," ";<br /> return $b;<br /> echo $c;<br /> }<br /> echo rt(4,5,6);<br /> echo "<br><br>";
    41. // php 数组<br /> // $变量 = array(元素1,元素2...);<br /> // $变量 = [元素1,元素2...];<br /> $array = array("-",3,true); // 元素可以是任何数据类型<br /> print_r($array); // Array ( [0] => - [1] => 3 [2] => 1 )<br /> echo "<br><br>";
    42. // php 三种数组 : 索引数组(数字索引) 关联数组(指定键) 多维数组(大于等于一个数组)
    43. // 索引数组 ★★★<br /> // count() 获取数组长度<br /> $colors = array("black","white","blue","green");<br /> echo count($colors); // 数组长度 4 <br /> echo "<br><br>";
    44. // is_array() 判断是否是数组<br /> echo is_array($colors);<br /> echo "<br><br>"; // 返回布尔值 1 是数组
    45. // 遍历索引数组 <br /> $len = count($colors);<br /> for($i=0;$i<=$len;$i++){<br /> echo "$colors[$i] ";<br /> }<br /> echo "<br><br>";
    46. // 关联数组 ★★★<br /> $per = array("name"=>"李白","sex"=>"男","age"=>22);<br /> print_r($per); // print_r 输出数组,打印变量<br /> echo "<br><br>";<br /> echo "$per[name] , $per[sex] , $per[age]";<br /> echo "<br><br>";
    47. // foreach 数组遍历 foreach($arr as $value) foreach($arr as $key => $value)
    48. // 索引数组遍历<br /> foreach($colors as $value){<br /> echo "$value ";<br /> }<br /> echo "<br><br>";
    49. // 关联数组遍历<br /> foreach($per as $attr=>$val){<br /> echo "属性:".$attr." , 值: ".$val;<br /> echo "<br><br>";<br /> }
    50. // 一维数组、二维数组<br /> // 数组的合并<br /> $array1 = array("a","b","c");<br /> $array2 = array("a1"=>"php","a2"=>"sis","a3"=>"java");<br /> $array3 = array_merge($array1,$array2);<br /> print_r("<pre>");<br /> print_r($array3);
    51. // 尾部添加数组元素 array_push()<br /> array_push($array1,"d","e");<br /> print_r($array1);
    52. // 下标为空,自动添加参数 $array1[]="d"; 有键值添加 $array2["a4"]="python"; <br /> // 添加到指定位置 array_splice(数组,位置,删除几个,增加元素)<br /> array_splice($array1,3,0,$array2); // 3 指的是数组下标(第 4 个元素开始)<br /> print_r($array1);
    53. // 删除指定元素 <br /> array_splice($array1,3,1);<br /> print_r($array1);
    54. // unset 销毁指定元素<br /> unset($array1[0]);<br /> print_r($array1);<br />?>