【day06】PHP

一.字符串函数库
 1.安装
 2.
   (1)strlen:获得字符串的字符长度
   (2)substr:字符串截取
       格式: string substr(string $var,
         int $start[,int $length]);
       说明:
       (a)$start:开始编号位置,编号从0开始
       (b)$length:字符串的截取长度如果$length省略,截取从字符开始到字符串结束
       (c)如果$start 开始编号大于字符串的总长度,返回false
       (d)$start,$length如果是负值,位置 倒数
   (3) 
      strtoupper:将字符串转为大写
      strtolower:将字符串转为小写
      ucfirst:字符串的首字母大写
      ucwords:每个单词的首字母大写    
   (4)
      trim:清除字符串两边的空格,也可以清除指定字符
      ltrim:清除字符串左边的空格,也可以清除指定字符
      rtrim: 清除字符串右边的空格,也可以清除指定字符           
                    
   (5)
     strpos:返回子字符串在字符串中首次出现的编号位置,编号从0开始,区分大小写
           格式:
     mixed strpos(string $haystack,mixed $needle[,int $flag=0]);成功返回编号位置,失败返回false
     stripos:不区分大小写
     strrpos:返回子字符串在字符串中最后出现的编号位置,编号从0开始,区分大小写
     strripos:最后出现的编号位置,不区分大小写
   
   (6)
     strstr:查找字符串的首次出现位置,区别大小写
          格式:string strstr ( string $haystack ,
        mixed $needle [, bool $before_needle = false ] )
               返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。如果 $before_needle为true 返回 needle在 haystack 中的位置之前的部分     
     stristr:不区分大小写
     strchr:别名 strstr()
     strrchr:查找指定字符在字符串中的最后一次出现位置区别大小写
     string strrchr ( string $haystack  , mixed $needle )
      
   (7)
     strrev :反转字符串
   (8)
     str_replace:字符串的替换
     mixed str_replace ( mixed $search ,mixed $replace , mixed $subject [, int &$count ] )
   (9)
     htmlspecialchars:转换为html实体
         格式:string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT])
       说明:
      (1) htmlspecialchars只能转换 < > ' 
          " &的特殊符号为HTML实体
      (2)$flags默认值:ENT_COMPAT 不处理单引号
         $flags:
            ENT_COMPAT 不处理单引号
            ENT_QUOTES 处理单引号和双引号
            ENT_NOQUOTES 不处理单引号和双引号
     (10)
        MD5:计算字符串的 MD5 散列值,返回32位
        sha1:计算字符串的 sha1 散列值,返回40位
        
     (11)strip_tags:从字符串中去除 HTML 和 PHP 标记
      string strip_tags ( string $str
       [, string $allowable_tags ] )
            说明:

        a.使用可选的第二个参数指定不被去除的字符列表

二、嵌套循环

嵌套循环:外循环执行一次,内循环完成所有的循环逻辑

1. 行列图形分析

for($i=1;$i<=5;$i++){ //行
   //echo '外循环-'.$i.'<br/>';
   for($j=1;$j<=3;$j++){//列
   	  echo '内循环----'.$j;
   }
   echo '<br/>';

4行3列的表信息

$var ='xxx';
$link='';
$link.='<table border="1" align="center">';
for($i=1;$i<=4;$i++){//行
   $link.='<tr>';
   for($j=1;$j<=3;$j++){//列
   	 $link.='<td>'.$var.'</td>';
   }
   $link.='</tr>';
}
$link.='</table>';
echo $link;
常用 一层循环
$var ='xxx';
$link='';
$link.='<table border="1" align="center">';
for($i=1;$i<=4;$i++){//行
	$link.='<tr>';
	$link.='<td>'.$var.'</td>';
	$link.='<td>'.$var.'</td>';
	$link.='<td>'.$var.'</td>';
	$link.='</tr>';
}
$link.='</table>';
echo $link;
5行5列正方形 *
for($i=1;$i<=5;$i++){//行
	for($j=1;$j<=5;$j++){//列
		echo '*&nbsp;';
	}
	echo '<br/>';
5行5列三角形 *
for($i=1;$i<=5;$i++){//行
	for($j=1;$j<=$i;$j++){//列
		echo '*&nbsp;';
	}
	echo '<br/>';
九九乘法口诀表
for($i=1;$i<=9;$i++){
	for($j=1;$j<=$i;$j++){
		echo $j.'*'.$i.'='.$i*$j.'&nbsp;';
	}
	echo '<br/>';
N图形 带条件的输出
$n=8;
for($i=1;$i<=$n;$i++){
	for($j=1;$j<=$n;$j++){
		if($j==1 || $j==$n ||$j==$i){
			echo '*&nbsp;';
		}else{
			echo '&nbsp;&nbsp;';
		}
	}
	echo '<br/>';
}
2.  外循环轮次,内循环带循环的小算法
求具体5!=1*2*3*4*5(累乘算法)
$sum =1;
for($i=1;$i<=5;$i++){
   $sum *= $i;
}
echo $sum;
echo '<br/>';
// 求 范围 1! --10!
for($k=1;$k<=10;$k++){
	$sum =1;
	for($i=1;$i<=$k;$i++){
		$sum *= $i;
	}
	echo $k.'!='.$sum.'<br/>';
} 
判断一个具体变量 是否是回文(对称)算法 
$var=123494321;
$half = floor(strlen($var)/2);
$flag = true;
for($i=0;$i<$half;$i++){
	$x =substr($var,$i,1);//循环截取前一半的每一位
	$y =substr($var,-$i-1,1);//截取后一半对应的每一位
    /*  
      $x = 0   1  2  3  $i 
      $y = -1 -2 -3 -4  -$i-1
     */
	if($x!=$y){
		$flag =false;
		break;
	}
}
if($flag){
	echo $var.'是回文的';
}else{
	echo $var.'不是回文';
}
判断一个范围10-9999中的是回文(对称)算法
for($var=10;$var<=9999;$var++){
	$half = floor(strlen($var)/2);
	$flag = true;
	for($i=0;$i<$half;$i++){
		$x =substr($var,$i,1);//循环截取前一半的每一位
		$y =substr($var,-$i-1,1);//截取后一半对应的每一位
		/*$x = 0   1  2  3  $i
		$y = -1 -2 -3 -4  -$i-1*/
		if($x!=$y){
			$flag =false;
			break;
		}
	}
	if($flag){
		echo $var.'是回文的<br/>';
	}
	
}
【day06】PHP
上一篇:阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_12-课程计划查询-需求分析


下一篇:阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_18-课程计划添加-需求分析