php

时间:2017-05-15 06:22:39

标签: 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');

我在这里得到了答案。 我传递了我想在网址中匹配的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的时间加倍

4 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:3)

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

IN()

此外,如果您尝试执行->whereIn('id', $explode_id); 条件,则可以使用:

<?php 

$connect = mysqli_connect("localhost", "root", "","user");
$data = json_decode(file_get_contents("php://input"));
$first_name = mysqli_real_escape_string($connect, $data->firstname);
$last_name = mysqli_real_escape_string($connect, $data->lastname);
$user_name = mysqli_real_escape_string($connect, $data->username);
$emailid = mysqli_real_escape_string($connect,$data->emailid);
$password = mysqli_real_escape_string($connect,$data->password);
$mobile = mysqli_real_escape_string($connect,$data->mobile);

$query = "INSERT INTO register(fname,lname,uname,email,pass,mobile)  
  VALUES ('$first_name','$last_name','$user_name','$emailid','$password','$mobile')";
$result = mysqli_query($connect, $query) ;
if($result == TRUE) 
{  
  echo "Data Inserted...";  
}  
else  
{  
  echo 'Error';  
}

答案 2 :(得分:1)

我会这样做,试试这个......

 $a = "1,2,3,4,5";
 $b= preg_split("/[,]/",$a);
 print_r($b);

答案 3 :(得分:0)

您可以使用str_replace('"','',$string[$i]); 在每个数组元素的for循环中,否则你可以将其作为

$intVal = (int)$string[$i];

在一个for循环中