PHP: Arrays Arrays Arrays – Mehrere Werte im Array bzw. ein Array im Array abbilden

PHP: Arrays Arrays Arrays – Mehrere Werte im Array bzw. ein Array im Array abbilden

Manchmal kann es notwendig sein innerhalb eines Arrays nicht nur einzelne Werte sondern gleich mehrere Werte als Array zu speichern. An dieser Stelle möchte ich kurz mit einem Syntax-Beispiel zur Seite stehen:

$werte = ['A' => '1', 'B' => '2', 'C' => '3', 'D' => '4', 'E' => '5', 'F' => '6', 'G_MehrereWerteImArray' => array("7", "8", "9")];

Ansonsten ist nur anzumerken das im obigen Beispiel das Array einfach in einer Variable gespeichert und so später leichter übergeben werden kann.

Post zu Array in Curl-Array

Wie bekommt Ihr Eure Formulardaten in ein Array in einem Array für Curl? Klingt verwirrend? Ja, ein bisschen, daher seht Ihr im unteren Code unter „CURLOPT_POSTFIELDS“ ein Beispiel für ein json kodiertes Array im Array für Curl.

if (isset($_POST["text"])) {
$text = $_POST["text"];
}

$curl = curl_init();

curl_setopt_array($curl, [
	CURLOPT_URL => "https://example.com/api",
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_FOLLOWLOCATION => true,
	CURLOPT_ENCODING => "",
	CURLOPT_MAXREDIRS => 10,
	CURLOPT_TIMEOUT => 30,
	CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	CURLOPT_CUSTOMREQUEST => "POST",
	CURLOPT_POSTFIELDS => json_encode(['language' => "de", 'strength' => 3, 'text' => $text]),
	CURLOPT_HTTPHEADER => [
		"content-type: application/json",
		"x-api-host: example.com",
		"x-api-key: apikey"
	],
]);

Array Antwort darstellen

Normalerweise gibt es auch eine entsprechende Antwort im JSON-Format, welche zu unserer Überraschung am Ende mal wieder als Array daherkommt. Der obige Code wird daher in unserem Beispiel noch etwas erweitert und die Antwort als $response hinterlegt. Nachdem wir json_decode für die Antwort durchgeführt haben erhalten wir wieder ein Array. Die Werte dieses Arrays können wir nach dem untenstehenden Beispiel wieder ausgeben (ArrayOutput1, ArrayOutput2, etc.).

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
	echo "cURL Error #:" . $err;
} else {

$obj = $response;
$arr = json_decode($obj);

echo '</br></br>';
print $arr->{'ArrayOutput1'};
	
echo '</br></br>';
print $arr->{'ArrayOutput2'};
	
echo '</br></br>';
print $arr->{'ArrayOutput3'};
	
}

Kopfschmerzen von Arrays, APIs und PHP? Kein Problem – ich helfe Euch sehr gerne zu günstigen Stundensätzen. Ihr erreicht mich problemlos über mein Kontaktformular.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.