Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数据库项分配给web服务项_Php_Mysql_Json - Fatal编程技术网

Php 将数据库项分配给web服务项

Php 将数据库项分配给web服务项,php,mysql,json,Php,Mysql,Json,以下是场景: 我收到一个包含140个事件的JSON对象。每个事件是六种可能类型中的一种,包括除2(描述和联系人姓名)之外的多个详细信息 我有一个包含6个描述和联系人姓名的MySQL数据库 如何将数据库中的正确描述和联系人姓名“附加”到PHP中的每个JSON条目中 我可以为每个事件查询数据库,但这似乎不必要地复杂,我想这会严重降低性能。最好的选择是让web服务提供商包含我们的描述和联系人姓名,但他们不会这样做 提前感谢。如果您可以确定每个事件所需的6个描述/联系人姓名中的哪一个,那么不要从每个事件

以下是场景:

  • 我收到一个包含140个事件的JSON对象。每个事件是六种可能类型中的一种,包括除2(描述和联系人姓名)之外的多个详细信息
  • 我有一个包含6个描述和联系人姓名的MySQL数据库
  • 如何将数据库中的正确描述和联系人姓名“附加”到PHP中的每个JSON条目中

    我可以为每个事件查询数据库,但这似乎不必要地复杂,我想这会严重降低性能。最好的选择是让web服务提供商包含我们的描述和联系人姓名,但他们不会这样做


    提前感谢。

    如果您可以确定每个事件所需的6个描述/联系人姓名中的哪一个,那么不要从每个事件的数据库中获取它们,而是先将它们全部选中,然后在PHP中进行查找

    例如:

    // Build and array like this from your database first
    $my_data = array('type1' => array('desc' => 'foo', 'cname' => 'bar'));
    
    for($i=0; $i < count($all_events); $i++){
        if(isset($my_data[$all_events[$i]['type']]){
            array_merge($all_events[$i], $my_data[$all_events[$i]['type']]);
        }
    }
    
    //首先从您的数据库中构建和数组,如下所示
    $my_data=array('type1'=>array('desc'=>'foo','cname'=>'bar');
    对于($i=0;$i
    我在这里做了一些假设,但您应该了解总体思路。注意,如果要在执行过程中修改
    $all\u events
    数组,则需要对
    执行
    for
    循环not
    foreach