我在 PHP 中有一个简单的字符串数组。这些字符串表示不同距离的家庭之间可能发生的关系。它看起来像这样:
0 => 'Unknown',
1 => 'Parent',
2 => 'Grandparent',
3 => 'Sibling',
4 => 'Child',
5 => 'Grandchild',
6 => 'Spouse',
7 => 'Self',
9 => 'Step Parent',
10 => 'Step Sibling',
11 => 'Step Child',
etc...
这个数组很好用,但是我遇到了一个问题,我希望能够以纯粹的自定义方式对这些项目进行排序(特别是从配偶/兄弟姐妹开始,以最远的关系结束,例如 X- in-law),但我也希望随着时间的推移添加列表。我最初的想法是简单地对它们进行排序,因为它们需要在数组中进行排序,但这不允许我在以后添加关系(尽管我怀疑这是否会发生,我宁愿安全也不要抱歉)。我能想出的最佳解决方案(在我看来似乎是一个不错的解决方案)是制作一个简单的 PHP 对象,该对象将包含关系的名称和像这样的任意“排序”值new Relation('Unknown', 0);
。问题是,您似乎无法在使用X => Y
语法,因为我在尝试编写此代码时遇到语法错误:
0 => new Relation('Unknown', 0),
1 => new Relation('Grandparent', 1),
etc...
有没有办法可以工作或可能是更好的解决方案?在这一点上,我可能必须在第一次请求它时(在 getter 中)使用 Array pushes 生成数组,然后存储它,但我宁愿让它格式化得很好。我只是运气不好?
编辑 - 澄清:现在的键被用作数据库中的存储值。本质上,我们将数组用作其他语言的枚举。