TS: Array Key Nummer in Text ändern und weitere Wert pro Element ergänzen

Beitrag lesen

Hello,

ich habe ein einfaches Array

$arr = array('lorem','ipsum','dolor');

Als erstes möchte ich die Index Werte in einen Text ändern. Statt

[0]=>'lorem',

[1]=>'ipsum',

[2]=>'dolor'

Müsste es so aussehen:

[0]['wert'] => 'lorem',

[1]['wert'] => 'ipsum',

[2]['wert'] => 'dolor'


foreach($arr as $key => $value)
{
    $arr[$key] = array('wert' => $value);
}

echo "<pre>\r\n";
echo htmlspecialchars(print_r($arr),1)) . "\r\n";
echo "</pre>\r\n";

Wenn das Array-Element bereits einen skaleren Wert oder einen String trägt, muss man es vollständig überschreiben mit dem neuen Typ (array).

Dann möchte ich jedem Element weitere Index Werte nachträglich hinzufügen:

[0]['wert'] => 'lorem',

[0]['gewicht'] => '4',

[0]['groesse'] => '2',

Das sollte jetzt einfach möglich sein, da $arr[0] ja nun selbst ein array ist.

Du kannst das Array aber ach anders herum aufbauen.

$_data['wert'][0] = 'lorem';
$_data['gewicht'][0] = '10';
$_data['gewichtseinheit'][0] = 'kg';
$_data['kunde'][0] = 'Kalle Schwobbel';

$_data['wert'][1] = 'ipsum';
$_data['gewicht'][1] = '12';
$_data['gewichtseinheit'][1] = 't';
$_data['kunde'][1] = 'Firma Pillenpulle';

siehe Wiki "Arrays mal anders herum"

Der Aufbau anders herum ha tden Vorteil, dass man auf die einzelnen "Spalten" direkt die Standard-Array-Funktionen, wie sum(), sort(), usw. anwenden kann.

Liebe Grüße
Tom S.

--
Die Krawatte ist das Kopftuch des Westens