目标

  • 熟悉条件判断语句,如判断整数,判断字符串等
  • 熟悉流程控制语句基本语法,如if……else……

    一、条件判断语法结构

    思考:何为真(**true)?何为假(false**)?

    1、条件判断语法格式 *

  • 格式1:test 条件表达式

  • 格式2:[ 条件表达式 ]
  • 格式3:[[ 条件表达式 ]] 支持正则 =~

特别说明:
1)[ 两边必须有空格 ]
2) [[ 两边必须有空格 ]]
3) 更多判断, man test 查看。

2、条件判断相关参数

问:你要判断什么?
答:我要判断文件类型,判断文件新旧,判断字符串是否相等,判断权限等等

2.1 判断文件类型

判断参数 含义
-e 判断文件是否存在(任何类型文件)
-f 判断文件是否存在,并且是一个普通文件
-d 判断文件是否存在,并且是一个目录
-L 判断文件是否存在,并且是一个软链接文件
-b 判断文件是否存在,并且是一个快设备文件
-S 判断文件是否存在,并且是一个套接字文件
-c 判断文件是否存在,并且是一个字符设备文件
-p 判断文件是否存在,并且是一个命名管道文件
-s 判断文件是否存在,并且是一个非空文件(有内容)

举例说明:
image.png

2.2 判断文件权限

判断参数 含义
-r 当前用户对其是否可读
-w 当前用户对其是否可写
-x 当前用户对其是否可执行
-u 是否usuid,高级权限冒险位
-g 是否sgid,高级权限强制位
-k 是否有t位,高级权限粘滞位

2.3 判断文件新旧

判断参数 含义
file1 -nt file2 比较file1是否比file2新
file1 -ot file2 比较file1是否比file2旧
file1 -ef file2 比较是否为同一个文件,或者用于判断硬链接,是否指向同一个inode

2.4 判断整数

判断参数 含义
-eq 相等(equal)
-ne 不等(Unequal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于(Greater than or equal to)
-le 小于等于(Less than or equal to)

2.5 判断字符串

判断参数 含义
-z 判断是否为空字符串,字符串长度为0则成立
-n 判断是否为非空字符串,字符串长度不为0则成立
string1 = string2 判断字符串是否相等
string1 != string2 判断字符串是否不相等

2.6 多重条件判断

判断符号 含义
-a 和 && 逻辑与
-o 和 || 逻辑或

特别说明:
&& 前面的表达式为真,才会执行后面的代码
|| 前面的表达式为假,才会执行后面的代码
; 只用于分割命令或表达式

  • 类C风格的数值比较

image.png

  • 字符串比较

image.png
image.png
[ ] 和 [[ ]区别
1、当做字符串判断时,如果有一个字符串为空且没有加引号的话就会报错。

  1. $curl = new curl($gGlobalConfig['App_livmedia']['host'], $gGlobalConfig['App_livmedia']['dir']);
  2. $curl->setReturnFormat('json');
  3. $curl->initPostData();
  4. $curl->addRequestData('id',$id);
  5. $ret = $curl->request('vod.php');
  6. $video = $ret[0];
  7. $videourl = $video['vodurl'] . $video['video_filename'] . '.m3u8';
  8. if (ISIOS)
  9. {
  10. $videourl = str_replace('.mp4', '.m3u8', $videourl);
  11. }
  12. $aspect = $video['aspect'];
  13. $rate = explode(':', $aspect);
  14. $rate = $rate[1] / $rate[0];
  15. $videoheight = $rate * $h5width;
  16. $imagewidth = $video['img_info']['imgwidth'];
  17. $imageheight = $video['img_info']['imgheight'];
  18. $h5height = intval($imageheight / $imagewidth * $h5width);
  19. $imginfo = web_get_pic_url($video['img_info'],$h5width,$h5height);