当前位置: 代码迷 >> PHP >> 在做一个ios端接口,对方传来多个json字符串,小弟我应该怎么将json数据与数据库数据做匹配
  详细解决方案

在做一个ios端接口,对方传来多个json字符串,小弟我应该怎么将json数据与数据库数据做匹配

热度:106   发布时间:2016-04-28 17:43:50.0
在做一个ios端接口,对方传来多个json字符串,我应该如何将json数据与数据库数据做匹配?
在做一个ios端接口,对方传来多个json字符串,我应该如何将json数据与数据库数据做匹配?

我的想法是先根据ios传来的json数组来判断有多少个json字符串,然后进行循环匹配。不知方法是否正确。

如何判断json数组中有多少json字符串?
------解决思路----------------------
如果传入数据的键名都是一样的,则
$s = '[{"answer":"123"},{"answer":"222"},{"answer":"231"}]';
$d = json_decode($s, true);
$t = join(',', array_map('current', $d));
$k = key(current($d));

$sql = "select * from tbl_name where $k in ($t)";
select * from tbl_name where answer in (123,222,231)

------解决思路----------------------

$data = '[{"answer":"123"},{"answer":"222"},{"answer":"231"}]';
$data = json_decode($data, true);

$answers = array();

foreach($data as $val){
    array_push($answers, $val['answer']);
}

$sqlstr = "select * from table where answer in('".implode("','", $answers)."')";
#mysql_query($sqlstr) or die(mysql_error());
echo $sqlstr; // select * from table where answer in('123','222','231')
  相关解决方案