一.字符串函数库
 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的更多相关文章

  1. 函数和常用模块【day06】:pickle模块(十二)

    本节内容 1.dumps序列化和loads反序列化 2.dump序列化和load反序列化 3.序列函数 1.dumps序列化和loads反序列化 dumps()序列化 1 2 3 4 5 6 7 8 ...

  2. 函数和常用模块【day06】:hashlib模块(十三)

    本节内容 1.简述 2.加密 3.sha1加密 4.sha256加密 5.sha384加密 6.sha512加密 7.hmac加密 一.简述 我们写程序中,经常需要对字符串进行MD5加密,python ...

  3. 函数和常用模块【day06】:re模块(九)

    本节内容 1.简述 2.常用的正则表达式符号 3.常用匹配方法 4.常用方法 5.反斜杠的困扰 6.其他匹配模式 7.总结 一.简述 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程 ...

  4. 函数和常用模块【day06】:subprocess模块(十)

    本节内容 1.概述 2.前言 3.subprocess模块 4.subprocess.Popen() 一.概述 我们在实际的工作中,需要跟操作系统的命令做交互,但我们如何用python去跟操作系统之间 ...

  5. 函数和常用模块【day06】:shelve模块(五)

    本节内容 1.简述 2.shelve概念 3.shelve模块使用 4.总结 一.简述 之前我们说不管是json也好,还是pickle也好,在python3中只能dump一次和load一次,不能dum ...

  6. 函数和常用模块【day06】:xml模块(六)

    本节内容 1.简述 2.xml格式 3.xml节点操作 4.创建新的xml文件 一.简述 xml是实现不同语言或者程序之间进行数据交换的协议,跟json差不多,但是json使用起来更简单,不过,古时候 ...

  7. 函数和常用模块【day06】:configparser模块(七)

    本节内容 1.简述 2.配置文件格式 3.创建配置文件 4.读取配置文件 5.增删该查语法 一.简述 在很多情况下,我们都需要修改配置文件,但是,有些配置文件,如mysql数据库的配置文件怎么修改呢? ...

  8. 函数和常用模块【day06】:random模块(三)

    本节内容 1.简述 2.random模块 3.string模块 4.生成随机数 一.简述 我们经常会使用一些随机数,或者需要写一些随机数的代码,今天我们就来整理随机数模块:random模块 二.ran ...

  9. 函数和常用模块【day06】:datetime模块(二)

    本节内容 1.datetime.datetime.now 2.datetime.date.fromtimestamp 3.datetime.timedelta 4.时间替换 1.datetime.da ...

  10. 函数和常用模块【day06】:time模块 (一)

    本节内容 1.简述 2.time模块 3.时间格式转换 一.简述 我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & ...

随机推荐

  1. Java入门之人需要注意的5大步骤

    作为最抢手的程序开发言语之一,Java在互联网领域中的方位无需赘言.抢手也带来了高薪和许多的作业时机,对那些预备通过学习Java来改动自己命运的同学来说,需求做好以下作业. 1.考虑一下 学习Java ...

  2. WildFly16.0配置数据源并测试

    目前网络上罕有近期版本的配置,本人经多次尝试网络中不同方式配置,在Testing Connection一步中尽皆失败后,查询官方文档未果,摸索出一条可行之路,在此分享于诸位朋友. [../wildfl ...

  3. Springmvc配置定时任务注解开发

    1.添加命名空间和xsd约束 xmlns:task="http://www.springframework.org/schema/task" http://www.springfr ...

  4. Ubuntu桌面版安装小记

    之前一直是用Ubuntu的桌面版装docker,桌面版本身用起来比较方便,但开销较大,如果建立多个虚拟机就比较费劲了.今天试了一下server版的Ubuntu,发现还是比较方便的,相比桌面版,有如下好 ...

  5. WPF默认控件模板的获取和资源词典的使用

    一.获取默认的控件模板 WPF修改控件模板是修改外观最方便的方式,但是会出现不知道原来的控件的模板长什么样,或者想用来参考的,下面分享一下获取某控件默认控件模板的方式(已Button为例): 1.创建 ...

  6. PHP面试题2019年百度工程师面试题及答案解析

    一.单选题(共10题,每题5分) 1.以下代码输出的结果是? ​​​ A.[0,1,2,3] B.[1,3,5,7,5] C.[1,2,3,4,5] D.[0,1,2,3,5] 参考答案:D 答案解析 ...

  7. JavaWeb之JSP & EL & JSTL

    JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...

  8. LED 控制卡 单元板 接口引脚定义

    LED 12接口 使能 <--- OE A ---> 行选择信号 N B ---> 行选择信号 N C ---> 行选择信号 N CLK ---> 时钟信号 N LAT/ ...

  9. springcloud微服务实战:Eureka+Zuul+Ribbon+Hystrix+SpringConfig

    原文地址:http://blog.csdn.net/yp090416/article/details/78017552 springcloud微服务实战:Eureka+Zuul+Ribbon+Hyst ...

  10. 前端基础之BOM和DOM操作

    目录 BOM和DOM定义 windows对象 windows的子对象 navigator对象 screen对象 history对象 location对象 弹出框 警告框 确认框 提示框 计时相关 se ...