thinkPHP5 input接受数组 踩的坑

55 篇文章 0 订阅
24 篇文章 0 订阅
  1. input('get.id/d');
  2. input('post.name/s');
  3. input('post.ids/a');
  4. Request::instance()->get('id/d');

ThinkPHP5.0版本默认的变量修饰符是/s,如果需要传入字符串之外的变量可以使用下面的修饰符,包括:

修饰符作用
s强制转换为字符串类型
d强制转换为整型类型
b强制转换为布尔类型
a强制转换为数组类型
f强制转换为浮点类型

如果你要获取的数据为数组,请一定注意要加上 /a 修饰符才能正确获取到。

前台发送    
    $.ajax({
            method : 'post',
            url : '{:url("Course/save_selected")}?course={$course}',
            data :  {
                'noSelected' : nocheckedList,
                'isSelected' : checkedList,
            },
            success : complete,
            error:function(response){
                //数据给后端后返回错误
                console.log(response);//打印返回的信息
            }
        });
后台接受
        $isSelected             = input('param.isSelected/a');//选中的数组   一维数组
        $noSelected             = input('param.noSelected/a');//未选中的数组 一维数组

 后续:payload

 

第二个 坑:

正常来说:
<input  name="checkid" type="checkbox" value="{$b.auth_id}" style="margin-left: 20px;"
                   {if condition = "in_array($b['auth_id'],$check)"}
                        checked='checked'
                   {/if}
              >

搞了一下午 搞出来的  他一用js就错误
<input type="checkbox" class="lesson_id" name="lesson_id[]" value="{{d[i].id}}"
                                               {foreach name="Selected" item="vo"}
                                               {{# if(d[i].id=={$vo.lid}){ }}
                                               checked
                                               {{# } }}
                                               {/foreach}
                                        >
这么写也是正常的 唯独不能使用in_array 原因可能是因为他是js渲染的  有些PHP的函数不认可  但是js中能使用变量
                                        {foreach name="Selected" item="vo"}
                                            {$vo.lid}
                                            {if condition="$vo.lid == 7"}123123{/if}
                                        {/foreach}

能使用thinkPHP5的内置标签  但是不不能使用in_array  确实很奇怪 {{# }}可以使用{{d.id}} 然后也能使用变量  所有就让他们两者来比较  因为if标签里不嫩使用{{#}} 所以只能使用 {{#}}这种模式来试试

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
thinkphp5中,合并数组的方法与thinkphp3.2有所不同。在thinkphp5中,可以使用array_merge函数来合并数组。下面是一个示例代码: ``` //声明三个数组(N个同下) // $list是二维数组 $list['x1'] 表示从list数组中取出x1数组 $x1 = $list['x1']; $x2 = $list['x2']; $x3 = $list['x3']; $result1 = array_merge($x1, $x2); //数组合并 (x1 x2) $result2 = array_merge($result1, $x3); //$result1 x3 //打印结果 echo "<pre>"; print_r($result2); echo "</pre>"; ``` 这段代码会将x1、x2和x3数组合并成一个新的数组$result2,并打印出合并后的结果。请注意,这里使用了array_merge函数来进行数组的合并操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [php 多个数组合并(在thinkphp5的控制器里写的)](https://blog.csdn.net/qq_43503385/article/details/105466326)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Thinkphp5.1 合并后的数组进行排序之后分页](https://blog.csdn.net/qq_30986969/article/details/124820054)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [thinkphp 3.2框架视图模型 实例视图查询结果的二维数组合并操作示例](https://download.csdn.net/download/weixin_38615783/12927366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值