我有一个google表单,从中收集的数据存储在电子表格中,然后我使用PHP使用google API从电子表格中获取数据。电子表格的链接,这里是代码
<?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 = "%sn%sn%sn";
$mask2 = "%sn";
$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);
}
?>
我想知道当两个或两个以上的用户有相同的兴趣(即行[3]中的相同数据)我该怎么做?我尝试使用similar_text,但它不起作用。任何帮助将不胜感激!
为什么要比较数据?如果只是在任何用户之间有共同兴趣时通知它,则可以决定使用一个数组来存储每个兴趣,并通过使用array_count_values($array)
函数来计算该数组的重复项。从这个答案中抄来的一个例子:
$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
)