Php 如何将json_解码值(仅)作为一个字符串保存到$var中
我从javascript接收作为json数组发送的以下变量:Php 如何将json_解码值(仅)作为一个字符串保存到$var中,php,arrays,json,Php,Arrays,Json,我从javascript接收作为json数组发送的以下变量:$\u请求['fb\u friend\u uid'] 然后我对数组进行解码,然后进行var_转储 $string = json_encode($_REQUEST['fb_friend_uid']); $result = json_decode($string, true); var_dump($result); var_转储向我展示了以下内容 array (size=360) 0 => array (size=1
$\u请求['fb\u friend\u uid']
然后我对数组进行解码,然后进行var_转储
$string = json_encode($_REQUEST['fb_friend_uid']);
$result = json_decode($string, true);
var_dump($result);
var_转储向我展示了以下内容
array (size=360)
0 =>
array (size=1)
'id' => string '263901486' (length=9)
1 =>
array (size=1)
'id' => string '502533736' (length=9)
2 =>
array (size=1)
'id' => string '506526230' (length=9)
3 =>
array (size=1)
'id' => string '507245473' (length=9)
etc..
如何将“id”中的所有值保存到一个新的$var\u字符串中?格式为:“263901486、502533736、506526230”
目标是在sql查询中使用字符串,如下所示:
SELECT * FROM vote WHERE
vote_fb_uid IN ($var_string)
如果要将所有项组合为一个长字符串,可以尝试内爆数组
$varString=内爆(',',$请求['fb\u friend\u uid'))
尝试以下方法:
$string = json_encode($_REQUEST['fb_friend_uid']);
$result = json_decode($string, true);
$res_array = array();
foreach($result as $val){
$res_array[] = $val['id'];
}
$res_string = implode(",",$res_array);
我不太懂PHP,但看看这些文档,您应该能够按照以下思路编写一些内容:
$string = json_encode($_REQUEST['fb_friend_uid']);
$result = json_decode($string, true);
$res_array = array_map(function ($val) { return $val['id']; });
$res_string = join(",", $res_array);
(改编自Prasanth Bendra的答案。)试试这个
$string = json_encode($ar);
$result = json_decode($string, true);
$res_array = array();
foreach($result as $val){
$res_array[] = $val['id'];
}
$res_string = "'".implode("','", $res_array)."'";
$qry = "SELECT * FROM vote WHERE vote_fb_uid IN ($res_string)";
内爆
在多维数组上不起作用。另外,$\u请求['fb\u friend\u uid']
包含一个Json字符串,但需要传递一个数组。