php中字符串到数组的转换

新手上路,请多包涵

我从 ajax 获取字符串并将 url 中的字符串作为 1,2,3,4,5,6 传递

使用爆炸功能后,即 $explode_id = explode(',', $request->data); 我得到的输出为 [“1”,“2”,“3”,“4”,“5”,“6”]

但我希望数据为:[1,2,3,4,5,6]

我如何得到它?它不应该像 [“1,2,3,4,5,6”] 因为我想比较以下数据:

   $product_id = Product::where('name', 'like','%'.$main.'%')->where('id', $explode_id)->pluck('id');

我在这里得到了答案。我正在传递我想在 URL 中匹配的 id

 $("input[type='checkbox']").click(function() {
  if ($(this).is(':checked')) {
   var days = $(this).val();
   $.ajax({
        type: "get",
        url: '/getcreatedat',
        data: { 'days': days },
        success: successFunc,
            error: errorFunc
        });
        function successFunc(data, status) {
          var pageURL = $(location).attr("href");
          window.location.href = pageURL+ '/' +data;
        }
        function errorFunc(xhr, error) {
             console.log(error);
        }
    }
});

下次我点击功能时:url 传递 id 的时间加倍

原文由 Kayal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 229
2 个回答

@Kayal 尝试使用带有 inval 的 array_map() ,如下所示:

 <?php
    $explode_id = array_map('intval', explode(',', $request->data));

原文由 lazyCoder 发布,翻译遵循 CC BY-SA 3.0 许可协议

你可以 json_decode 它。

 $explode_id = json_decode($request->data, true);

此外,如果您尝试执行 IN() 条件,您可以使用:

 ->whereIn('id', $explode_id);

原文由 Khoon 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏