-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
申し訳ありませんがわかりませんでしたが、実際には配列に3つの名前関連のフィールドがあります。 1つは[名前](あなたが使用した)と呼ばれ、2つはデータの「隠された」ビットで、FirstnameとLastnameは別々です。それらはそれぞれ[DataCategoryId] 165497と165498と結合されています。私は様々な試みで['165498']を参照しようとしましたが、まだ運がありません。 – LoDef
私の編集を参照してください。その場合、 'array_search'と' array_column'を使って比較する値を見つけることができます。 '['165498']'はidがキーではなく値であるため動作しません。 –
ありがとう、Björn! – LoDef