计算Json中的匹配字数

时间:2015-04-23 02:22:25

标签: php jquery json mysqli

我怎么能算出匹配字符串的单词...就像那匹配的' 201'在enter image description here

这是我的后退......

<?php
$con=mysqli_connect("localhost","root","","project");
function loadData()
{
    global $con;
    $listData="";
    $sql=mysqli_query($con,"SELECT fGuests,mGuests FROM reserved");
    while($row=mysqli_fetch_array($sql))
    {
        $mf= array();
        $mf[]=$row['mGuests'].';'.$row['fGuests'];
        $data = array(
                    'mf'=>$mf
                    );
        $listData[]=$data;
    }
    return json_encode($listData);
}
echo loadData();

&GT?; 这是我的AJAX ......

function x()
{
    $.ajax({
        url:"ajax/try.php",
        type:"GET",
        dataType:"JSON",
        data:"",
        success:function(data)
        {
            $.each(data,function(i,item)
            {
                var m=item.match(/201/g).length;
                $("#roomList2").append(m);
            });
        }
    });
}
x();

仅供输出6 ......

它应该是8 ......

1 个答案:

答案 0 :(得分:2)

我认为你只是在追加之前读取数组中的第一个对象(每个循环遍历而不是返回连接的所有结果)。这可能是因为当匹配为数组的第二个元素返回null时会出现错误(该数组中没有201)。需要添加一个if来检查匹配是否返回任何内容。您还希望在添加这些数字之前将它们添加在一起。

function x()
{
    $.ajax({
        url:"ajax/try.php",
        type:"GET",
        dataType:"JSON",
        data:"",
        success:function(data)
        {
            var m = 0;
            $.each(data,function(i,item)
            {
                var matched = item.mf.match(/201/g);
                if(matched) {
                    m += matched.length;
                }
            });
            $("#roomList2").append(m);
        }
    });
}
x();

jsfiddle of this working