Mehrere Arrays in einer foreach()- Schleife auslesen

Manuel

Mitglied
Hallo,

ich hätte eine Frage. Ich arbeite mit einer TeamSpeak 3 Library. Ich benötige 2 Arrays die mir mit folgenden Funktionen zurückgeliefert kommen.

Array: clientList
Output:
Code:
/*
  * Array
  * {
  *  [clid] => 1
  *  [cid] => 1
  *  [client_database_id] => 2
  *  [client_nickname] => Par0noid
  *  [client_type] => 0
  * }
*/

Array: serverGroupClientList
Output:
Code:
/*
  * Array
  * {
  *  [cldbid] => 2017
  *  [client_nickname] => Par0noid
  *  [client_unique_identifier] => nUixbsq/XakrrmbqU8O30R/D8Gc=
  * }
*/

Beides sind mehrdimensionelle Arrays. Mein Code sieht so aus:
PHP:
<?php
 $clientList = $tsAdmin->clientList();
 foreach ($clientList as $client) {
  // hier muss jetzt ausgegeben werden, welche Eindeutige-ID (also: client_unique_identifier) der User hast. Das Skript soll durch clid in dem Array serverGroupClientList nun nach der clid suchen und wenn das Skript dann den User gefunden hat soll client_unique_identifier ausgegeben werden.
 }
?>

Ich habe versucht es so gut wie möglich zu erklären.

Danke schonmal im Voraus ;)
 
Ich sehe nur 2 eindimensionale Arrays.
Mach doch mal ein var_dump() der Arrays, damit wir uns das besser vorstellen können wie die 2te Dimension aussieht.

Dein foreach geht alle Elemente von clientList durch.

Mit den obigen Angaben (ich traue ihnen aber nicht) würdest du einfach das machen müssen
PHP:
echo serverGroupClientList['client_unique_identifier'];
 
clientList Array
Code:
    Array
(
    [success] => 1
    [errors] => Array
        (
        )

    [data] => Array
        (
            [0] => Array
                (
                    [clid] => 3
                    [cid] => 85
                    [client_database_id] => 57
                    [client_nickname] => xxx
                    [client_type] => 0
                )

            [1] => Array
                (
                    [clid] => 9
                    [cid] => 83
                    [client_database_id] => 61
                    [client_nickname] => xxx
                    [client_type] => 0
                )

            [2] => Array
                (
                    [clid] => 13
                    [cid] => 83
                    [client_database_id] => 51
                    [client_nickname] => xxx
                    [client_type] => 0
                )

            [3] => Array
                (
                    [clid] => 14
                    [cid] => 68
                    [client_database_id] => 44
                    [client_nickname] => xxx
                    [client_type] => 1
                )

            [4] => Array
                (
                    [clid] => 20
                    [cid] => 80
                    [client_database_id] => 70
                    [client_nickname] => xxx
                    [client_type] => 0
                )

            [5] => Array
                (
                    [clid] => 23
                    [cid] => 83
                    [client_database_id] => 65
                    [client_nickname] => xxx
                    [client_type] => 0
                )

            [6] => Array
                (
                    [clid] => 24
                    [cid] => 83
                    [client_database_id] => 45
                    [client_nickname] => xxx
                    [client_type] => 0
                )

        )

)

serverGroupClientList Array
Code:
(
    [success] => 1
    [errors] => Array
        (
        )

    [data] => Array
        (
            [0] => Array
                (
                    [cldbid] => 1
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [1] => Array
                (
                    [cldbid] => 6
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [2] => Array
                (
                    [cldbid] => 7
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [3] => Array
                (
                    [cldbid] => 22
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [4] => Array
                (
                    [cldbid] => 33
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [5] => Array
                (
                    [cldbid] => 36
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [6] => Array
                (
                    [cldbid] => 44
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [7] => Array
                (
                    [cldbid] => 45
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

            [8] => Array
                (
                    [cldbid] => 60
                    [client_nickname] => xxx
                    [client_unique_identifier] => xxx
                )

        )

)
 
PHP:
//Einen Array mit den Identifiers als Wert und dem Nickname als Schlüssel erstellen
$uniqueIdentifiers = array();
foreach($serverGroupClientList['data'] as $item){
    $uniqueIdentifiers[$item['client_nickname']] = $item['client_unique_identifier'];
}

//Für jeden client den Identifier auslesen
foreach($clientList['data'] as $client){
    $id = $uniqueIdentifiers[$client['client_nickname']];
    echo "{$client['client_nickname']}: {$id}<br />";
}
 
Zurück