在PHP中将字符串转换为数组

Kay*_*yal 3 php laravel

我从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');
Run Code Online (Sandbox Code Playgroud)

我在这里得到了答案。正在像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);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

下次我单击该功能时:url传递id的时间翻倍

Vis*_*nki 7

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

<?php
    $explode_id = array_map('intval', explode(',', $request->data));
Run Code Online (Sandbox Code Playgroud)

  • 太感谢了 。你让我的一天变得特别 (2认同)

Nea*_*eat 6

你可以的json_decode

$explode_id = json_decode($request->data, true);
Run Code Online (Sandbox Code Playgroud)

另外,如果您想做一个IN()条件,可以使用:

->whereIn('id', $explode_id);
Run Code Online (Sandbox Code Playgroud)