CI框架 foreach 和 if/else的用法(冒号的位置)

本文深入探讨了PHP中foreach循环及if...elseif...else条件判断的实际应用,通过具体示例解析了如何根据不同条件渲染不同内容,是后端开发者理解和掌握PHP控制结构的重要资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//foreach
<?php foreach ($trading as $value):?>
   //if elseif else 判断
    <?php if($value['sts']==2):?>
        <li>1111</li>
    <?php elseif($value['sts']==3):?>
        <li>2222</li>
    <?php else :?>
        <li>3333</li>
    <?php endif;?>
<?php endforeach;?>

 

#!/bin/bash ##获取当前目录 keepaliveddir=`pwd` function addSingleLine(){ contextLine=$1 contextLine=`echo ${contextLine} | sed 's:\/:\\\/:g'` startLine=`sed -n "/${contextLine}/=" ${workspace}/timed.task` ## 如果文件中不存在定时任务,则写入 if [ -z "${startLine}" ]; then echo $1 | sed 's:\\::g' >> ${workspace}/timed.task fi; } ## 滚动脚本,清理脚本授权 chmod +x ${workspace}/scripts/rollLog.sh chmod +x ${workspace}/scripts/clearLog.sh ## 如果改文件则删除 if [ -f "${workspace}/timed.task" ];then rm -rf ${workspace}/timed.task fi ## 备份服务器上的定时任务 crontab -l 2>&1 > ${workspace}/timed.task #添加两个定时任务,一个是回滚日志,另一个是定期清除 addSingleLine "40 23 \* \* \* sh ${workspace}/scripts/rollLog.sh" addSingleLine "50 23 \* \* 6 sh ${workspace}/scripts/clearLog.sh" ## 该命令会将服务器之前的定时任务覆盖掉,因此上面那条命令先将服务器上的定时任务先备份到timed.task,再重新加入机器 crontab ${workspace}/timed.task ##获取默认网卡的名称 #set($is_ipv6=false) #if(${primary_ip_address.indexOf(":")}!=-1) #set($is_ipv6=true) #end #if($is_ipv6==true) ## 获取当文件的工作目录 path=`dirname $0` localIp=`ping -6 ${primary_ip_address} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'` iname=`sh ${path}/getNetCardNameByIPv6.sh ${localIp}` #foreach($node in $keepalived.node) #if($node.primary_ip_address != $primary_ip_address ) realIp=`ping -6 ${node.primary_ip_address} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'` sed -i "s/${node.primary_ip_address}/${realIp}/g" ${keepaliveddir}/keepalived_installed/etc/keepalived/keepalived.conf #end #end #else localIp=`ping ${primary_ip_address} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'` iname=`ip route show | grep ${localIp} |awk '{print $3}'` #foreach($node in $keepalived.node) #if($node.primary_ip_address != $primary_ip_address ) realIp=`ping ${node.primary_ip_address} -c 1 | sed '1{s/[^(]*(//;s/).*//;q}'` sed -i "s/${node.primary_ip_address}/${realIp}/g" ${keepaliveddir}/keepalived_installed/etc/keepalived/keepalived.conf #end #end #end ##替换keepalived.conf的网卡名称 if [ -n "${iname}" ];then sed -i "s/ens33/${iname}/g" ${keepaliveddir}/keepalived_installed/etc/keepalived/keepalived.conf else echo "Get netcard failed" 1>&2 fi ##添加动态链接库,预防缺库 export LD_LIBRARY_PATH=${keepaliveddir}/keepalived_installed/libs ##重启rsyslog服务 if [ ! -d ${workspace}/log ] then mkdir ${workspace}/log fi noneInfo=`cat /etc/rsyslog.conf | grep /var/log/messages | head -n 1 | awk '{print $1}'` newNoneInfo=`echo $noneInfo | grep -w "local$!{log_facility}.none"` if [ -z "$newNoneInfo" ];then newNoneInfo=${noneInfo}"local$!{log_facility}.none" noneCmd="sed -i 's/$noneInfo/$newNoneInfo/g' /etc/rsyslog.conf" eval $noneCmd fi logInfo=`cat /etc/rsyslog.conf | grep -w "local$!{log_facility}.* ${keepaliveddir}/log/keepalived.log"` if [ -z "$logInfo" ] then echo "local$!{log_facility}.* ${keepaliveddir}/log/keepalived.log" >> /etc/rsyslog.conf fi systemctl restart rsyslog 2>/dev/null ##进入执行目录 cd ${keepaliveddir}/keepalived_installed/sbin ##判断keepalived进程是否存在。 keepalivedproc=`ps -ef|grep "${keepaliveddir}/keepalived_installed/etc/keepalived/keepalived.conf"|grep -v grep|awk '{print $2}'` if [ -n "$keepalivedproc" ] then kill -HUP $(cat /${keepaliveddir}/keepalived.pid) else ./keepalived -D -f ${keepaliveddir}/keepalived_installed/etc/keepalived/keepalived.conf -p ${keepaliveddir}/keepalived.pid -r ${keepaliveddir}/vrrp.pid -S ${log_facility} fi chmod 644 ${keepaliveddir}/keepalived_installed/etc/keepalived/keepalived.conf 我执行这个文件报错,sed: -e expression #1 ,char 22:unterminated ‘s’ command 哪里错了
最新发布
07-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值