-1
这是数组的第一部分(从JSON提要派生而来)。重复块位于[Attendee]内部,并从[0]开始。对复杂PHP数组进行排序
Array
(
[Code] => 1
[Message] => Successfully retrieved data
[Result] => Array
(
[Attendee] => Array
(
[0] => Array
(
[CountryCode] => 44
[DemographicData] => Array
(
)
[Email] => [email protected]
[FreeTextDataCategories] => Array
(
[AttendeeFreeTextDataCategory] => Array
(
[0] => Array
(
[DataCategoryId] => 165497
[Value] => Firstname
)
[1] => Array
(
[DataCategoryId] => 165498
[Value] => Lastname
)
[2] => Array
(
[DataCategoryId] => 165500
[Value] => Job Title
)
[3] => Array
(
[DataCategoryId] => 165504
[Value] => Array
(
)
)
)
)
[GuestOfAttendeeId] => Array
(
)
[Id] => 3344468
[Name] => Firstname Lastname
[Password] => Array
(
)
[PhoneNumber] => 123456789
[RegisteredVia] => Email
[RegistrationDate] => 2017-06-30T11:30:44.313
[SessionId] => 111222333
[Status] => Registered
[StatusDate] => 2017-06-30T11:30:44.313
)
)
)
我要排序的与会者[N]由姓氏,值我可以很容易地附和,但我不明白如何通过它来进行排序。 以下是我回音吧:
foreach ($result_array['Result']['Attendee'] as $row) {
echo "<a href=\"mailto:" . $row["Email"] . "\">" . $row["FreeTextDataCategories"]["AttendeeFreeTextDataCategory"][0]["Value"] . " " . $row["FreeTextDataCategories"]["AttendeeFreeTextDataCategory"][1]["Value"]. " </a>"; }
...我已经寻找存在的问题,并试图以我的情况下适应这样的解决方案,但都没有成功: Sorting Complex Arrays by Name - Sort multidimensional array alphabetically - PHP Array Complex Sort
对不起,如果我不清楚,但实际上有三个名称相关的字段在数组中。一个名为['Name'](您使用的名称)以及两个在数据中更深处的“隐藏”,Firstname和Lastname是分开的。它们分别与[DataCategoryId] 165497和165498耦合。我试图在各种尝试中提及['165498'],但仍然没有运气。 – LoDef
看我的编辑。在这种情况下,您可以使用'array_search'和'array_column'来查找要比较的值。 '['165498']'不起作用,因为ID不是一个键,而是一个值。 –
谢谢Björn! – LoDef