【问题标题】:String Matching Algorithm in PHPPHP中的字符串匹配算法
【发布时间】:2021-07-26 18:03:53
【问题描述】:

我有一个 google 表单,从中收集的数据存储在电子表格中,然后我使用 PHP 通过 Google API 从电子表格中获取数据。Link Of the Spreadsheet 这是代码

<?php
$t=time();
echo($t . "<br>");
echo(date("Y-m-d",$t));


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

$client = new \Google_Client();
$client->setApplicationName('Google Sheets and PHP');
$client->setScopes([\Google_Service_Sheets::SPREADSHEETS]);
$client->setAccessType('Offline');
$client->setAuthConfig(__DIR__ . '/credentials.json');
$service = new Google_Service_Sheets($client);
$spreadsheetId = "10Ta70Faby4FnbZ_bhELRRPNJ4W8m6rrhdPj5lX0ijZ8";
$range = "sfi!A2:D31";
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
if(empty($values)) {
    print "You suck";
}

    
foreach($values as $row) {
    $mask = "%s\n%s\n%s\n";
    $mask2 = "%s\n";
    $values2 = sprintf($mask,$row[1], $row[2],$row[3]);
$values3 = sprintf($mask2, $row[3]);
print($values2);
$fp = fopen($t + '.csv', 'a');//opens file in append mode  
 
fwrite($fp, $values2);  

fclose($fp);  

}


?>

我想知道何时有 2 个或更多用户有相同的兴趣,即第 [3] 行中的相同数据我该怎么做?我尝试使用similar_text,但没有奏效。任何帮助将不胜感激!

【问题讨论】:

  • 您可能想查看此reference。此外,您是否计划计算每个独特兴趣的重复项?或者只是检查@rummens 的现有答案中提供的数据是否有 >2 重复的兴趣?请提供您的预期输出

标签: php html google-sheets backend spreadsheet


【解决方案1】:

您为什么要尝试比较数据?如果只是在您的任何用户之间有共同兴趣时通知它,您可以决定使用一个数组来存储每个兴趣并使用 array_count_values($array) 函数计算该数组的重复项。一个例子,复制自this answer:

$interestsArray = [12,43,66,21,56,43,43,78,78,100,43,43,43,21];
$vals = array_count_values($interestsArray);
echo 'No. of NON Duplicate Items: '.count($vals).'<br><br>';
print_r($vals);

结果:

No. of NON Duplicate Items: 7
Array
(
    [12] => 1
    [43] => 6
    [66] => 1
    [21] => 2
    [56] => 1
    [78] => 2
    [100] => 1
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2013-12-24
    • 2016-07-19
    • 2021-11-06
    • 2012-07-24
    • 2010-09-08
    相关资源
    最近更新 更多