联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
复选框选择的名称输出最后一个不带分隔符怎么写
类型:迅睿CMS 更新时间:2023-10-16 20:59:23 dr_field_options

{php $field = dr_field_options(65);}
{loop $field $name $v}
{if in_array($name, $policyfield)}
{$v} -
{/if}
{/loop}

调用复选框选中的名称  想用-分隔,如何取消最后个后面的-分隔符号。

麻烦代码写一下。

回帖
  • #1楼    迅睿框架创始人
    2023-10-16 15:39:17
    Google Pixel 手机 0
    参考文档:《Loop循环语句》判断最后一条: {if $is_last}表示最后一条 {/if} {if !$is_last}表示不是最后一条 {/if}
  • 未别离
    #2楼    未别离
    2023-10-16 16:28:21
    Chrome 0
    回复迅睿框架创始人
    {php $field = dr_field_options(65);}
     {loop $field $name $v}
    	{if in_array($name, $policyfield)}
    	
    		{if $is_last}{$v}{else}{$v} /{/if}
    										               
    	{/if}
    {/loop}
    试了下 ,{if $is_last}是选中了最后一个值,必须是最后一个值值:A,B,C,D得选中 选中abcd输出 a / b / c / d (选中D的情况输出是目标状态)但是只选中AB的时候,输出 a / b / c / (没有去掉最后面输出这个的/)我想要的是输出选中的中的最后一个 不是所有值的最后一个
  • #3楼    迅睿框架创始人
    2023-10-16 16:49:37
    Google Pixel 手机 0
    {php $field = dr_field_options(65);}
     {loop $field $name $v}
    	{if in_array($name, $policyfield)}
    	
    		{if $key_a+1==count($policyfield)}{$v}{else}{$v} /{/if}
    										               
    	{/if}
    {/loop}
  • 未别离
    #4楼    未别离
    2023-10-16 17:23:58
    Chrome 0
    回复迅睿框架创始人 也不对啊。
    {if $key_a+1==count($policyfield)}{$v}{else}{$v} /{/if}

    按手册我理解的是 {$key_a+1} 当前条数等于 字段选中的条数
    首先这个{$key_a+1} 当前条数实际没获取到准确的当前条数,不论复选框选几个值,{$key_a+1} 输出值是1。其次,哪怕直接写成(我选了2个值) 2==count($policyfield),输出也是ab 并不是目标的a / b
  • 小波工作室
    #5楼    小波工作室
    2023-10-16 17:25:09
    Chrome 0
    十块钱我帮你写
  • #6楼    迅睿框架创始人
    2023-10-16 20:59:23
    Google Pixel 手机 0
    {php $field = dr_field_options(65);$ksb=1;}
     {loop $field $name $v}
    	{if in_array($name, $policyfield)}
    		{if $ksb==count($policyfield)}{$v}{else}{$v} /{/if}
    	{php $ksb++;}					               
    	{/if}
    {/loop}