echo与函数

echo

echo -n 表示不换行输出

echo -e 输出转义字符,将转义后的内容输出到屏幕上

常用的转义字符如下:
\b 转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字符,"\b\b"表示删除前两个字符。

\c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于 echo -n; 但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出。

\n 换行,被输出的字符从"\n"处开始另起一行。

\f 换行,但是换行后的新行的开头位置连接着上一行的行尾;

\v 与\f相同;

\t 转以后表示插入tab,即横向制表符;

\r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖"\r"之前同等长度的字符;但是当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖

\ 表示插入""本身;

for i in {1…10} {1…10…2}
$(seq 1 10) $(seq 1 2 10)
for ((i=1; i<=10; i++)) ((i=1; i<=10; i+=2))
do
echo $i
done

for ((i=1; i<=10; i++));do echo $i;done

break跳出单个循环

for ((a=1; a<=5; a++))
do
echo “outer loop: $a”
for ((b=1; b<=50; b++))
do
if [ $b -eq 5 ]
then
break
fi
echo “inter loop: $b”
done
done

continue中止某次循环中的命令,但不会完全中止整个命令
for ((a=1; a<=15; a++))
do
if [ $a -gt 5 ] && [ $a -lt 10 ]
then
continue
fi
echo “current value: $a”
done

IFS字段分隔符

默认包含 空格,制表符,换行符 set | grep IFS
IFS=$’ \t\n’

修改成只换行
IFS=$’\n’

IFS=:
IFS=’,’

IFS.OLD= I F S I F S = IFS IFS= IFSIFS=’\n’

IFS=$IFS.OLD

输出环境变量PATH所包含的所有目录以及其中的所有可执行文件

函数

【1】
function 函数名 {
命令序列
}

【2】
函数名() {
命令序列
}

返回值

return表示退出函数并返回一个退出值,脚本中可以用 ? 变 量 显 示 该 值 使 用 原 则 : 1 、 函 数 一 结 束 就 取 返 回 值 , 因 为 ?变量显示该值 使用原则: 1、函数一结束就取返回值,因为 ?使1?变量只返回执行的最后一条命令的退出状态码
2、退出状态码必须是0~255,超出时值将为除以256取余

function db1 {
read -p “请输入:” value
return [ [ [value * 2]
}
db1
echo $?

db1() {
read -p “请输入:” value
echo [ [ [value * 2]
}
result=db1
echo $result

传参

sum() {
s=$[$1 + $2]
echo $s
}
sum $1 $2

递归

函数调用自己本身的函数
fact() {
if [ 1 − e q 1 ] t h e n e c h o 1 e l s e l o c a l t e m p = 1 -eq 1 ] then echo 1 else local temp= 1eq1]thenecho1elselocaltemp=[ 1 − 1 ] l o c a l r e s u l t = 1 - 1] local result= 11]localresult=(fact $temp)
echo $[$1 * KaTeX parse error: Expected 'EOF', got '}' at position 14: result] fi }̲ read -p "请输入:"…(fact $n)
echo $result

创建库

vim myfuncs.sh
jiafa() {
echo $[$1 + $2]
}

chengfa() {
echo $[$1 * $2]
}

chufa() {
if [ $2 -ne 0 ];then
echo $[$1 / $2]
else
echo “$2不能为0”
fi
}

vim test.sh
. myfuncs.sh

value1=10
value2=5
result1=jiafa $value1 $value2
result2=chengfa $value1 $value2
result3=chufa $value1 $value2
echo “加法结果为: r e s u l t 1 " e c h o " 乘 法 结 果 为 : result1" echo "乘法结果为: result1"echo"result2”
echo “除法结果为:$result3”

<think>好的,用户想了解PHP中echo函数的用法和相关示例。首先,我需要回忆一下echo的基本知识。echo在PHP中是一个语言结构,不是函数,所以它可以不用括号,直接跟参数。记得它和print的区别,echo可以输出多个字符串,而print只能输出一个,并且返回1,这点可能需要提到吗?用户可能想知道基本用法,比如输出字符串、变量,还有如何处理多个参数。 然后,用户提供的引用中有很多示例,我需要整理这些例子,分门别类地解释。比如基本用法、输出变量、多参数、字符串连接、数组元素输出,还有单双引号的区别。要注意转义字符和分号的使用建议,虽然分号在某些情况下可以省略,但最好还是写上。 用户可能对转义符号的使用不太清楚,比如如何在字符串中包含引号。这时候需要说明用反斜杠转义或者交替使用单双引号来避免冲突。另外,复合赋值运算符的例子,比如$text .= 这样的操作,可能也需要解释清楚,说明字符串的连接方法。 还有数组的输出,使用foreach循环遍历数组元素,每个后面加<br>换行,这适用于网页显示。同时,混合单双引号的例子中,双引号内的变量会被解析,而单引号则需要用连接符,这点很重要,需要强调。 用户可能还关心性能问题,echo比print稍快,因为它是语言结构,这点在引用里提到了,应该包含在回答中。注意事项部分,比如分号的使用和转义技巧,也需要整理出来,帮助用户避免常见错误。 最后,生成相关问题的时候,要考虑用户可能的进一步需求,比如echo和print的区别、输出到HTML的注意事项、性能比较、如何输出特殊字符,以及替代方案如print_r和var_dump。这些问题能帮助用户更全面地理解echo的使用场景和限制。</think>### PHP中echo的用法详解 #### 一、基本特性 $echo$ 是PHP的核心语言结构(非函数),用于输出一个或多个字符串,具有以下特性: 1. 可省略括号直接使用:$echo "Hello";$ 2. 支持多个参数用逗号分隔:$echo "参数1", "参数2";$[^1] 3. 执行速度比$print$稍快(约快0.00001秒/次) #### 二、具体用法示例 1. **基础输出** ```php <?php echo "欢迎访问PHP中文网"; // 输出纯字符串 ``` 2. **变量输出** ```php $user = "张三"; echo "当前用户:$user"; // 双引号内直接解析变量 echo '当前用户:'.$user; // 单引号需用连接符 ``` 3. **多参数输出** ```php echo "系统时间:", date("Y-m-d"), " ", date("H:i:s"); ``` 4. **数组元素输出** ```php $colors = ["红色", "绿色", "蓝色"]; foreach($colors as $color) { echo $color."<br>"; // 网页换行输出 } ``` 5. **复合输出** ```php $header = "HTTP/1.1 200 OK\r\n"; $header .= "Content-Type: text/html; charset=utf-8\r\n"; echo $header; ``` #### 三、特殊处理技巧 1. **引号嵌套** ```php echo "他说:\"PHP是最好的语言\""; echo '<div class="header">'; // 交替使用引号避免转义 ``` 2. **格式化输出** ```php printf("内存使用:%.2f MB", memory_get_usage()/1048576); // 配合格式化函数 ``` 3. **输出缓冲** ```php ob_start(); echo "这行内容将被缓存"; $cached = ob_get_clean(); ``` #### 四、注意事项 1. 变量解析仅在双引号字符串中生效 2. 复杂表达式需用大括号包裹:$echo "{$array['key']}";$ 3. 输出二进制数据时需设置header 4. 输出前避免发送HTTP头信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值