How to pass an array of string into single variable in php -
basically, have variable called $userid = $_post['userid']; can take 1 value.
but want take multiple values if possible, $userid = 1,2,4,5 or $userid = 2 or $userid = 1,2,3,4,5,6,7
i don't know how multiple numbers here php script:
<?php require "init.php"; function foo() { $numargs = func_num_args(); echo "number of arguments: $numargs \n"; if ($numargs >= 2) { echo "second argument is: " . func_get_arg(1) . "\n"; } $arg_list = func_get_args(); ($i = 0; $i < $numargs; $i++) { echo "argument $i is: " . $arg_list[$i] . "\n"; } } if(!empty($_post['userid'])){ $userid = $_post['userid']; $userid = foo($userid); $stmt = "select userid, forename, surname, email, age users userid in (?)"; $result = $conn-> prepare($stmt); $result->bind_param('i', $userid); $result->execute(); $outcome=$result->get_result(); $response = array(); if(($outcome->num_rows)>0){ while($row = $outcome->fetch_assoc()){ $response[] = array ( "userid" => $row["userid"], "forename" => $row["forename"], "surname" => $row["surname"], "email" => $row["email"], "age" => $row["age"] ); } echo json_encode($response); } else{ echo json_encode("none found"); } } ?> edit: above code keep getting: number of arguments: 1 argument 0 is: 1,2,3 "failed" - if $userid = 1,2,3
so can see userid can take 1 value, want take many in cases.how convert takes many.
that bit stuck on, rest of sql stuff works fine in phpmyadmin when provide hardcoded values
you use call-user-func-array
eg:
$userid = "1,2,3,4,5,6,7"; call-user-func-array(function_name, explode(',', $userid)); if use php 5.6 >, can use ... variadic functions.
as per comment,
you can use func_get_arg.
modified example
<?php function foo() { $numargs = func_num_args(); echo "number of arguments: $numargs \n"; if ($numargs >= 2) { echo "second argument is: " . func_get_arg(1) . "\n"; } $arg_list = func_get_args(); ($i = 0; $i < $numargs; $i++) { echo "argument $i is: " . $arg_list[$i] . "\n"; } } foo($userid); ?>
Comments
Post a Comment