You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PHP检查Firebase数组字段中是否存在指定数据

使用PHP检查Firebase文档中特定技术人员是否关联问题

先确保你已经安装并配置了Firebase Admin SDK for PHP,以下是具体实现步骤:

1. 安装Firebase Admin SDK

通过Composer安装官方SDK:

composer require kreait/firebase-php

2. 初始化SDK并查询文档

创建PHP脚本,完成初始化后查询目标文档,检查指定技术人员是否在Technicals字段中:

<?php

require __DIR__.'/vendor/autoload.php';

use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;

// 加载Firebase服务账号密钥(替换为你的密钥文件路径)
$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/path/to/service-account.json');

// 初始化Firebase实例并获取Firestore客户端
$firebase = (new Factory)
    ->withServiceAccount($serviceAccount)
    ->create();
$firestore = $firebase->getFirestore();

// 替换为你的集合名、目标问题文档ID,以及要检查的技术人员姓名
$collectionName = 'issues';
$issueDocId = 'your-specific-issue-id';
$targetTechnician = 'John Doe';

// 获取目标文档引用
$docRef = $firestore->collection($collectionName)->document($issueDocId);
$snapshot = $docRef->snapshot();

if ($snapshot->exists()) {
    // 提取Technicals字段的值(这是一个数组)
    $technicals = $snapshot->get('Technicals');
    
    // 检查目标技术人员是否在数组中
    if (in_array($targetTechnician, $technicals)) {
        echo "该技术人员涉及此问题";
    } else {
        echo "该技术人员未涉及此问题";
    }
} else {
    echo "指定的问题文档不存在";
}
?>

关键说明

  • 替换代码中的path/to/service-account.json为你从Firebase控制台下载的服务账号密钥路径
  • $collectionName、$issueDocId需要替换为实际的集合名称和问题文档ID
  • $targetTechnician是你要检查的技术人员姓名,确保和Firebase中存储的名称完全一致(区分大小写)

Firebase数据表截图

内容的提问来源于stack exchange,提问作者Abdel Rahman Yosry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:01:13