我已经研究了数组、数组列表、字典的各种不同方式......但由于我习惯了 PHP,我并不完全确定我可以收集以下信息的最佳方式。
我的程序循环遍历每个用户,如果他们是位置 ID,我想将其添加到某种集合/数组中。预计不同的用户将具有相同的位置 ID。
如果位置 ID 相同,我需要增加该位置 ID 出现次数的整数。
例子:
User1 - Location1
User2 - Location3
User3 - Location3
Location1 = 1
Location3 = 2
我还需要以某种方式将每个用户 ID 附加到这个集合中。所以 Location3 / 2 次出现 / user2/user3
大约两个小时以来,我一直在试图找出最好的方法,多维数组、数组列表、字典的所有不同方法都有点令人困惑,因为这对我的 PHP 知识来说似乎很抽象。我认为 C# 以完全不同的方式处理数组。
本质上,具有唯一位置 ID / 出现次数 / 和用户集合的集合需要存储在可以作为参数传递到我程序中其他地方的东西中。
我制作了一个 PHP 脚本,它完全符合我的要求
foreach($call["data"] as $v)
{
// Foreach USER ($v containing their unique ID and location ID.)
$user_id = $v["id"];
$location_id = $v["location"]["id"];
// This adds the location ID as the key within the array, followed by every user who has it. I don't need a count in this case, as I could just count the number of users.
$collection[$location_id][$user_id] = null;
}
这反过来在使用 print_r 打印时创建此数组
[106078429431815] => Array
(
[620790873] =>
[626276302] =>
[100000152470577] =>
)
(输出的一小部分)。- 添加了 PHP 示例。任何人都知道如何让 C# 以与我的 PHP 数组相同的方式收集相同的信息?