我不能给你一个确切的解决方案,因为我不确定返回的值是$_REQUEST['fb_friend_uid']
使用 打印的 PHP 数组json_encode()
,还是该值实际上是一个 json 字符串。
在任何一种情况下,哪里都有一个使用这两种情况的示例,因此请使用在您的场景中有意义的任何一个:
如果 PHP 数组:
假设 PHP 数组的格式类似于:
array('returned_val' => array('47483647', '47483647', '47483647', '665414807', '263901486', '665414807', '665414807', '665414807'));
<?php
$original_arr = $_REQUEST['fb_friend_uid']['returned_val'];
如果 JSON 字符串:
假设 JSON 字符串的格式类似于:
{"returned_val":["47483647","47483647","47483647","665414807","263901486","665414807","665414807","665414807"]}
<?php
$json_arr = json_decode($_REQUEST['fb_friend_uid'], True);
$original_arr = $json_arr['returned_val'];
然后,使用以下代码:
<?php
// Extract only whole number values, omit anything which is not a 0-9 character.
$filtered_arr = array_filter($original_arr, 'ctype_digit');
// Escape values to remove possibility of SQL injection.
$filtered_arr = array_map('mysql_real_escape_string', $filtered_arr);
// Convert the array to a string
$string_arr = "'" . implode("','", $filtered_arr) . "'";
// Perform SQL Query
mysql_query("SELECT * FROM vote WHERE vote_fb_uid IN ($string_arr)");