PHP第三节

赋值运算

$a++; 先赋值在加加
$a=0;
$b=$a++;
echo $b //显示0


++$a 先加加载赋值
$a=0;
$b=++$a;
echo $b//显示1

逻辑运算符

xor 异或 相同为false 不同为true
$a=true;
$b=false;
$res= ($a xor $b);
var_dump($res) //显示bool(true)

比较运算符

<>不等于
==全等于(两个比较内容里,类型也要比较);!==全不等;

Math函数

$num=mt_rand(1,10);//随机1到100的随机数
$num=mt_pow(x,y);// 返回x的Y的次方;
三元运算
$res= $num>5? "{$num}大于5": $num;
echo $res;

运算符优先级

运算符优先级

循环语句

<?
  switch(表达式){
      case :
          执行语句;
          break;
    dafault:
      break;
};
 $num=5;

while($num>5){
    echo "{$num}大于5";
};                            //   不显示  先判断 在执行;
do{
     echo "{$num}大于5";
 }while($num>5);    //显示5大于5   先执行在判断

foreach 循环
$arr=array("姓名"=>"张灿","年龄"=>"18","身高"=>"178cm");
foreach( $arr as $k => $v ){
   echo $v."---------".$arr[$k]."<br>";
       echo  $k.":".$v."<br>";
        if($k=="姓名"){
            $v="李四";
};       
};      
显示
张灿---------张灿
姓名:张灿
18---------18
年龄:18
178cm---------178cm
身高:178cm

 $num=0;
 while($num<10){
 $num++;
if($num==3){
continue;    //跳出本次循环
}else if($num>4){
break;    //阻止全部循环
}else{
echo $num;   
};
};   //显示 124
?>

函数

PHP中函数名不区分大小写

function test(){

 echo "我是test函数";

};
TEST();

函数参数默认值

function test($a="你好",$b="世界"){
echo $a.$b;
};
test(); // 显示 你好世界 ;不传参数时候使用默认值 ,传参时候不适用默认值
test("hello","word");// 显示 helloWord;

函数传值和传址

$c=5;
function test($a){ //这样是传值
$a=10;
};
test($c);

echo $c; //显示5
$c=5;
gunction test(&$a){ //这样是传址
$a=10;
};
test($c);
echo $c; // 显示 10

函数的作用域

$a=10;
$fn= function ($b){
echo $b; //函数里边想得到$a 要传进去 或者global 声明全局变量 函数里边的作用域拿不到外面的变量
};
$fn($a); // 不支持 多个函数名重载 和关键字; 匿名函数结尾要加;号

递归

function test($num){
$num--;
echo $num;
if($num>0){
test($num);
}else{
return; //可以阻止程序执行
};
};
test(5); // 显示43210 ;

静态变量

静态变量 记住上一次的值 常驻内存 static 声明静态变量 把值保存在内存

<? 
function test(){   
static $num=5;
$num--;
echo $num;
if($num>0){
test();
}else{
unset($num);           //unset()销毁静态变量
 return;
};
};
test();   //显示43210
?>

数组排序

注意:排序是按照按照ascll码来排序的

1.数组的操作
unset($arr[0])删除数组某个元素
print_r($arr); 打印数组
count($arr)取得数组大小
in_array(10,$arr); 检查数组中包含某个值

1.根据值来排序

<?
  值正序排列            sort()
$arr3[]="c";
$arr3[]="a";
$arr3[]="b";
$arr3[]="e";
print_r($arr3);
echo "<br>";
sort($arr3);
print_r($arr3);   
显示     Array ( [0] => c [1] => a [2] => b [3] => e ) 
        Array ( [0] => a [1] => b [2] => c [3] => e )

值反序排列           rsort()
$arr3[]="c";
$arr3[]="a";
$arr3[]="b";
$arr3[]="e";
print_r($arr3);
echo "<br>";
rsort($arr3);
print_r($arr3);
显示
Array ( [0] => c [1] => a [2] => b [3] => e ) 
Array ( [0] => e [1] => c [2] => b [3] => a )
?>

2.根据下标来排序

  下标正序排序          ksort();
<?
$arr3["B"]="你好";
$arr3["A"]="荷花";
$arr3["a"]="hello";
$arr3["c"]="word";
print_r($arr3);
echo "<br>";
ksort($arr3);
print_r($arr3);
显示
Array ( [B] => 你好 [A] => 荷花 [a] => hello [c] => word ) 
Array ( [A] => 荷花 [B] => 你好 [a] => hello [c] => word )

下标反序排列           krsort();
$arr3["B"]="你好";
$arr3["A"]="荷花";
$arr3["a"]="hello";
$arr3["c"]="word";
print_r($arr3);
echo "<br>";
krsort($arr3);
print_r($arr3);
显示
Array ( [B] => 你好 [A] => 荷花 [a] => hello [c] => word ) 
Array ( [c] => word [a] => hello [B] => 你好 [A] => 荷花 )
?>

字符串

1.统计字符串的长度

<?
    $a="你好";
    $res= strlen($a);
    echo $res;      //显示6
    
  显示多个字符串
  echo "hello","wrod"; //显示hellowrod
    
?>

2.字符串变大小写

<?
        变小写   strtolower()
$str="fdadsadaasdASDADSASDADASDs";
$res=strtolower($str);
echo $res;  //显示 fdadsadaasdasdadsasdadasds
-------------------------------------------------------------------------
      变大写    strtoupper()
$str="fdadsadaasdASDADSASDADASDs";
$res=strtoupper($str);
echo $res;  //显示   FDADSADAASDASDADSASDADASDS
?>

3.查询需要查询内容第一次出现的位置
只针对字符串 一个空格占一个字符 区分大小写 strpos()

$res= strpos("hello wordor","or" );
echo $res; 显示7


函数中有 i 是否对大小写敏感 不区分大小写 stripos()
$res= stripos("hello wordor","OR" );
echo $res; 显示 7

4.要替换的字符串 str_replace()

        $str="asdweedcdf--dafsdds";
        $res= str_replace("--","**",$str);     $res= str_ireplace("--","**",$str)  带i的只是不区分大小写
        echo $res;    显示  asdweedcdf**dafsdds

5.字符串截取
substr()
strstr() 根据字符串来获取前、后字符串
截取的时候,截取的长度小于字符串长度对乱码,针对中文;

$str="你好";
第一个参数为对象
第二个参数从什么位置开始截取 第三个参数截取的位数
$res=substr($str,0,2);/ $res=substr($str,0,6);
echo $res;
显示 乱码 / 你好

       $str="erqdasffffrefsdsasdvs";
       $res= strstr($str,"ffff",false);   //默认false 取后面的字符串   true取前面的字符串
        stristr()  不区分大小写
       echo $res;    显示ffffrefsdsasdvs

6.删除系统预定义的字符串

$str="   dasdadsadas     "; 
echo "(".$str.")<br>";
$res= ltrim($str);       // 去掉左边的字符串 左边的空格
$res= rtrim($str);          //  去掉右边的字符串  
echo "(".$res.")";
$res= trim($str);       // 去掉全部空格

7.字符串倒叙排列
strrev()

$str= "faadafdf";
$res= strrev($str);
echo $res;
显示      fdfadaaf

8.将换行符转化为HTML标签

$str= "fdaa
asdasd
asda";
$res = nl2br($str);    //转化为<br>标签
echo $res;

9.去掉字符串里的标签
strip_tags()

$str="<h1>我是H1标签</h1>";
echo $str."<br>";
$res=strip_tags($str);
echo $res;      

显示
<h1>我是H1标签<h1>
<h6 >我是H1标签<h6>

10.把预定义的字符转化成HTML实体
用于评论区的留言

$str="<h1>我是H1标签</h1>";
$res=htmlspecialchars($str);  //把预定义的字符转换为 HTML 实体。
echo $res;
显示
<h1>我是H1标签</h1>

预定义字符
预定义的字符是:
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
(大于)成为 >

11.字符串的割接 和 拼接
explode()割接
implode()拼接

$str="adsdasdas-dfdssfadsf";
$arr= explode("-",$str);  // 切割成数组      以 -  切割成数组
print_r($arr);
显示
Array ( [0] => adsdasdas [1] => dfdssfadsf )
--------------------------------------------------------------------
$newstr=implode("*",$arr);//  将数组拼接成字符串     根据给定字符来拼接
echo $newstr;
显示
adsdasdas*dfdssfadsf

数据转化成JSON

json_encode() 编码
json_decode() 解码
解码---将JSON数据解析成数组或者对象 第二个参数为true 转化成数组 默认false 转换成对象

关联数组会转换成对象 默认
索引数组会转换成数组 默认

$arr=["张三","李四","王二","hehe","wrod"]; 
$arr=["name"=>"张三","age"=>"18"];
$str=json_encode($arr);    //编码         
echo $str."<hr>";
显示      {"name":"\u5f20\u4e09","age":"18"}


$obj=json_decode($str,true);    //解码
print_r($obj);
print_r($obj->name);  //调用方法
显示        Array ( [name] => 张三 [age] => 18 ) 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,718评论 0 11
  • PHP 算数运算符 ";echo ($a-$b)." ";echo ($a*$b)." ";echo ($a/$b...
    久久归移阅读 515评论 0 0
  • 一、数组 1、数组定义 数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。 $...
    空谷悠阅读 808评论 4 11
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,096评论 4 97
  • 主要参考两个网站: 周莫烦的网站视频学习 一个简书博客
    重新出发_砥砺前行阅读 139评论 0 0