zoukankan      html  css  js  c++  java
  • index.php

    PHP是一种创建动态交互性站点的强有力的服务器端脚本语言(后端、弱类型)
    从地址栏直接寻找:localhost/路径/路径
    PHP语法:
    PHP脚本以<?php 开始,以?>结束;
    PHP文件通常包含HTML标签和一些PHP脚本代码。
    PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
    通过 PHP,有四种在浏览器输出文本的基础指令:echo,var_dump 和 print,print_r。
    echo 可以同时输出一个或多个字符串,之间用逗号隔开
    var_dump 输出一个变量的详细信息,判断变量的类型和长度并输出变量的值(数值),
    如果变量有值则数的是变量的值以及返回类型。此函数显示关于一个或多个表达式的详细结构信息,
    包括表达式的类型和值,数组将递归展开值,通过缩进显示其结构 print 只能输出一个字符串(他的参数),如果成功返回true,否则返回false print_r 可以把字符和数字简单打印出来,而数组则括起来的健和值的列表形式显示并以array开头,
    但是print_r输出布尔值和null的结果没有意义,因为都是打印“ ”,因此用var_dump更适合调试 函数:封装某一块功能,如果下次想用这种功能可以直接调用 四要素:返回类型,函数名,参数列表,函数体 强类型函数:string Show(int a){函数体} 弱类型:function(关键字,代表它是一个函数) Show(参数){函数体} 匿名函数:function(){} js里面经常用在地方(事件)上,其他语言函数多用在(封装)功能上 随机数生成:Math.random(); 日期时间函数(需要用变量调用): var b = new Date(); //获取当前时间 b.getTime() //获取时间戳 b.getFullYear() //获取年份 b.getMonth()+1; //获取月份 b.getDate() //获取天 b.getHours() //获取小时 b.getMinutes() //获取分钟 b.getSeconds() //获取秒数 b.getDay() //获取星期几 b.getMilliseconds() //获取毫秒 数学函数(用Math来调用): abs(x) 返回数的绝对值。 ceil(x) 对小数进行上舍入。 floor(x) 对数进行下舍入。 round(x) 把数四舍五入为最接近的整数。 max(x,y) 返回 x 和 y 中的最高值。 min(x,y) 返回 x 和 y 中的最低值。 pow(x,y) 返回 x 的 y 次幂。 sqrt(x) 返回数的平方根。 random() 返回 0 ~ 1 之间的随机数。 **** 字符串函数(用变量来调用): indexOf()返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。 var index1 = a.indexOf("l"); //index1 = 2 charAt 返回指定位置的字符。 var get_char = a.charAt(0); //get_char = "h" lastIndexOf 返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。 var index1 = lastIndexOf('l'); //index1 = 3 match 检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。 var re = new RegExp(/^w+$/); var is_alpha1 = a.match(re); //is_alpha1 = "hello" var is_alpha2 = b.match(re); //is_alpha2 = null substring 返回字符串的一个子串,传入参数是起始位置和结束位置。 var sub_string2 = a.substring(1,4); //sub_string2 = "ell" substr ******** 返回字符串的一个子串,传入参数是起始位置和长度 var sub_string1 = a.substr(1); //sub_string1 = "ello" var sub_string2 = a.substr(1,4); //sub_string2 = "ello" replace ******* 替换字符串,第一个参数代表被替换的字符串,第二个参数代表替换的字符串 a.replace("he","aa") search 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。 var index1 = a.search(re); //index1 = 0 var index2 = b.search(re); //index2 = -1 split ****** 通过将字符串划分成子串,将一个字符串做成一个字符串数组。 var arr1 = a.split(""); //arr1 = [h,e,l,l,o] length 属性 ******* 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。 toLowerCase 将整个字符串转成小写字母。 var lower_string = a.toLowerCase(); //lower_string = "hello" toUpperCase 将整个字符串转成大写字母。 var upper_string = a.toUpperCase(); //upper_string = "HELLO" PHP变量: $a=10; 整数变量 可以自动转换类型 强制转换类型: $a = 10; $a = (string) $a; var_dump($a); settype($a,"string") var_dump($a); 变量定义: 定义字符串的方式 $a = "" $a = '' $a = <<<A A; 双引号里面可以解析转义字符,单引号不可以 双引号里面可以解析变量用花括号隔开 PHP里面拼接字符串用小数点 可变变量: $a=111 $111=czx echo $$a; 会输出czx 输出语法: echo $a; print $a; print_r( 变量 ); 专门打印数组 var_dump( 变量 ); 输出变量信息 常用函数: rand(); 生成随机数 rand(0,50); 范围随机数 时间: time(); 取当前时间戳 date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前小时 i:当前分钟 s:当前秒数 strlen(字符串); 可以获取字符串长度 strcmp(变量,字符串);可以比较两个值得大小 strtolower(变量或字符串); 可以改小写 strtoupper(变量或字符串); 可以改大写 explode("",变量); 拆分字符串 substr_replace(变量/字符串,用什么替换,从哪个位置替换,替换长度); str_replace(); 查找替换 数组方法: in_array(查找的值,数组); 可以判断是否在数字里面 array_reverse(数组); 翻转数组 array_unique(数组); 可以删除相同的值(去重) unset(数组[]); 可以删除数组的元素,但是索引不是连续 array_values(数组) 重置索引 var_dump(empty($a)); 判断变量是否为空 var_dump(isset($a)); 判断变量是否定义 unset(变量); 删除变量 &代表变量的地址: $a = ; $b = &$a; $b = 5; echo $a; 运算符: a+b 相加 a-b 相减 a*b 相乘 a/b 相除 a%b 取余 -a 取反 a.b 连接两个字符串 a+=b a=a+b 左侧的字符串等于原字符串加另一个字符串 a-=b a=a-b 左侧的字符串等于原字符串减另一个字符串 a*=b a=a*b 左侧的字符串等于原字符串乘另一个字符串 a/=b a=a/b 左侧的字符串等于原字符串除另一个字符串 a%b a=a%b 左侧的字符串等于原字符串除另一个字符串的余数 a.=b a=a.b 原字符串链接另一个字符串 a==b 等于 a!=b(a<>b) 不等于 a<b 小于 a>b 大于 a<=b 小于等于 a>=b 大于等于 a and b 与 如果 a 和 b 都为 true,则返回 true (a && b) a or b 或 如果 x 和 y 至少有一个为 true,则返回 true (a || b) !a 非 取反值 三元运算符:(三目运算符) $a = 10; $b = 8; echo $a==$b?"相等":"不相等 错误抑制符:@(放在输出语句得前面) PHP三种错误类型 Notice:提醒 Warning:警告 error:错误

     下面是常用的知识点总结

    header("Content-type: text/html; charset=utf-8");  
    echo "<a href='index2.php'>跳到index2<a/>";
    $hens= array(12.4,90,90);
    $sum=0;
    for($i=0;$i<count($hens);$i++){
      $sum+=$hens[$i];
      }
    echo '小鸡鸡总重量='.$sum." 平均重量=".$sum/count($hens)."<br/>";
    echo "<hr/>";
    $colors = array('red', 'blue', 'green', 'yellow');
    foreach ($colors as $color) {
        echo "Do you like $color?<br/>";
    }
    echo "<hr/>";
    echo "*********输出键值对*********<br/>";
    foreach ($colors as $key => $val){
       echo '键'.$key."<br/>";
       echo '值'.$val."<br/>";
       echo $key.'='.$val."<br/>";
    }
    echo "<hr/>";
    echo "*********普通的方式遍历*********<br/>";
    for($i=0;$i<count($colors);$i++){
    	echo $colors[$i]."<br/>";
    }
    echo "<hr/>";
    //方式一
    $arr[0]=23;
    $arr[1]=90;
    $arr[2]="hello,world";
    /*foreach($arr as $hsp){
      echo $hsp." ";
    }*/
    
    //方式二 foreach($arr as $key=>$val){   echo "key=".$key." val=".$val."<br/>"; } echo "*****************************<br/>";
    //方式三 for($i=0;$i<count($arr);$i++){   echo 'arr['.$i.']='.$arr[$i].'<br/>'; } echo "<hr/>";
    echo "单例模式"; class single{   protected $a;   protected static $ins = null;   protected function __construct(){ $this->a=mt_rand(1,10); }   public static function getIns(){ if(self::$ins === null){ self::$ins=new self(); } return self::$ins;   } } $s1=single::getIns(); $s2=single::getIns(); var_dump($s2); var_dump($s1); var_dump(empty($s1));//返回false echo gettype($s1); echo gettype($s2); echo "<hr/>";
    echo "变量的传递"; $a = 6; $b = &$a; // unset($a); // $a = 8; // $b = 10; var_dump($a,$b); echo "<hr/>"; echo "变量的重定义<br/>"; $laoda = 'liubei'; //echo $laoda; $paihang = 'laoda'; //echo $$paihang;//liubei $rank = 'paihang'; echo '$$$rank的值是'.$$$rank; echo "<br/>";   if($pos = strpos($rank, 'e')){//找不到e的位置 echo "$pos";   }   else{ echo "找不到e的位置";   } echo "<br/>"; echo '用三元运算符'.$pos = strpos($rank, 'e')?$pos:'找不到'; echo "<hr/>"; echo "函数有点奇怪<br/>"; function good(){   echo 'haha'; } function bad(){   echo 'wuwu'; } $heart = 'bad'; echo $heart;// $heart(); echo "<hr/>"; echo "php里面的函数不区分大小写<br/>"; function jia(){   return '!'; } echo JIA(); echo "<hr/>"; echo "奇怪的函数"; echo "<br/>"; function add($a,$b){   $sum = $a+$b;   $a = $a-1;   $b = $b-1;   echo '~~~~~';   return $sum; } echo add(7,8); echo "<hr/>"; echo '$global'.'会打印全部变量和变量值'; function d(){   $GLOBALS['age'] = 23;   $GLOBALS['gender'] = 'nv'; } d(); var_dump($GLOBALS); echo $age; echo "<br/>"; echo $gender; echo "<hr/>"; echo "简单防盗链"; // 防盗链:HTTP_REFERER检查进入页面的路径是否存在,存在即是有明确的来源路径,不存在即是来源路径不明(或是直接地址栏输入或是点击打开.html文件) // 防止自己的图片被别的网站直接复制使用,图片便会按照程序的设定不显示或显示防盗链等字样。 if (isset($_SERVER['HTTP_REFERER'])) {   // 判断isset($_SERVER['HTTP_REFERER']是不是http://localhost开头的   if (strpos(isset($_SERVER['HTTP_REFERER']),"http://localhost")==0) { echo "welcome,you are right"; // echo strpos($_SERVER['HTTP_REFERER'],"localhost");   }else{ // 跳转 echo "welcome,you are wrongman";   } }else{ echo "welcome,you are wrongman"; } echo "打印环境变量"; foreach ($_SERVER as $key => $value) {   echo "$key=$value <br/>"; } // 获取当前访问页面的ip echo "朋友你的IP是:".$_SERVER['REMOTE_ADDR']."<br/>"; // 防盗链:检查进入页面的路径是否存在,存在即是有明确的来源路径,不存在即是来源路径不明(或是直接地址栏输入或是点击打开.html文件) if($_SERVER['REMOTE_ADDR']=="127.0.0.1"){   // header("location:404.php");   echo "你是127.0.0.1来的,我可以屏蔽你"; } echo "<hr/>"; $self=@$_SERVER['HTTP_REFERER']; //获取链接到当前页面的前一页面的 URL 地址 $u=$_SERVER['HTTP_HOST']; //获取当前请求的Host头信息的内容 $r=$_SERVER['PHP_SELF']; //获取当前正在执行脚本的文件名 $l=$_SERVER['QUERY_STRING']; //获取查询(query)的字符串(URL 中第一个问号 ? 之后的内容) $url="http://"."$u"."$r"."?"."$l"; //将获取的变量组成一个字符串,即完整的路径 echo '这个路径是'.$url."<br/>";
  • 相关阅读:
    CF263E Rhombus
    AtCoder Grand Contest 034
    Docker C/S 架构逻辑图
    使用filledeat modules配置
    filebeat分别收集多个类型日志
    ELK部署收集日志
    ES界面
    Django下的post请求访问出现403错误
    Django配置(urls.py)
    Day-1 python
  • 原文地址:https://www.cnblogs.com/aten/p/8575196.html
Copyright © 2011-2022 走看看