如果对你有帮助的话,请顶一下,谢谢 一、变量替换 ${varname:-word} 如果变量varname存在且非null,则返回其值,否则,返回word ${varname-word} 如果变量varname存在,则返回其值,否则,返回word
${varname:+word} 如果变量varname存在且非null,则返回word,否则,返回null ${varname+word} 如果变量varname存在,则返回word,否则,返回null
${varname:=word} 如果变量varname存在且非null,则返回其值,否则,设置它为word,并返回word ${varname=word} 如果变量varname存在,则返回其值,否则,设置它为word,并返回word
${varname:?word} 如果变量varname存在且非null,则返回其值,否则,显示varname:word,并退出当前的命令或脚本,省略word会出现默认的信息parameter null or not set。 ${varname?word} 如果变量varname存在,则返回其值,否则,显示varname:word,并退出当前的命令或脚本,省略word会出现默认的信息parameter null or not set。
二、模式匹配运算 (注意:这里用的模式都是通配字符模式,而非正则表达式) 假设变量 path=/home/tolstoy/mem/long.file.name
${variable#pattern} 如果模式匹配于变量的开头处,则删除匹配的最短部分,并且返回剩下的部分 例如:${path#/*/} 结果: tolstoy/mem/long.file.name
${variable##parttern} 如果模式匹配于变量的开头处,则删除匹配的最长部分,并且返回剩下的部分 例如{path##/*/} 结果: long.file.name
${variable%parttern} 如果模式匹配于变量的结尾处,则删除匹配的最短部分,并且返回剩下的部分 例如{path%.*} 结果: /home/tolstoy/mem/long.file
${variable%%parttern} 如果模式匹配于变量的结尾处,则删除匹配的最长部分,并且返回剩下的部分 例如{path%%.*} 结果: /home/tolstoy/mem/long
三、特殊情况 ${#var} 表示字符串长度 $# ${#*} ${#@} 表示位置参数的个 对于数组来说,${#array_name} 表示的是数组中第一个元素的长度 对于数组来说,${#array_name}和${#array_name[@]}表示数组中元素的个数
四、参数扩展与模式匹配 参数形式 扩展后 x{y,z} xy xz ${x}{y, z} ${x}y ${x}z ${x}{y, $z} ${x}y ${x}${z} ${param#pattern} 从param前面最小删除pattern的匹配 ${param##pattern} 从param前面最大删除pattern的匹配 ${param%pattern} 从param后面最小删除pattern的匹配 ${param%%pattern} 从param后面最大删除pattern的匹配 ${param/pattern/string} 从param中用string替换pattern的第一次匹配,string可为空 ${param//pattern/string} 从param中用string替换pattern的所有匹配,string可为空 ${param:3:2} 截取$param中索引3开始的2个字符 ${param:3} 截取$param中索引3至末尾的字符 ${@:3:2} 截取参数列表$@中第3个开始的2个参数 ${param:-word} 若$param为空或为设置,则参数式返回word,$param不变 ${param:+word} 若$param为非空,则参数式返回word,$param不变 ${param:=word} 若$param为空或为设置,则参数式返回word,同时$param设置为word ${param:?message} 若$param为空或为设置,则输出错误信息message,若包含空白符,则需引号
PHP,PHP开发网,PHP基础开发,PHP新手入门,叶子树是一个专业的PHP框架详解,PHP基础编程,PHP核心技术编程,PHP优化与安全,覆盖绝大部分PHP知识点的论坛,欢迎广大的PHP好爱者光临!-叶子树
|