XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   PHP: zweidim. Array mit eindimensionaler Struktur in Eindim. Array umwandeln? (http://xhtmlforum.de/showthread.php?t=52611)

braindead 07.07.2008 23:57

PHP: zweidim. Array mit eindimensionaler Struktur in Eindim. Array umwandeln?
 
Hi,
ich möchte aus einem zweidimensionalen und assoziativem Array dieser Form:
[0]['id'] = 12
[1]['id'] = 41
[2]['id'] = 2
usw.
einen eindimensionalen Array dieser Form machen
[0] = 12
[1] = 41
[2] = 2
usw.

wie mache ich das am besten (mit PHP)
der erste Array enthält übrigens weiteren Einträge in der zweiten Ebene. Was auch nicht schlecht wäre wenn ich das erste Array gleich in der eindimensionalen Form erhalten würde, dazu ist zu sagen das ich den eindimensionalen Array erhalte weil ich aus einer Mysql-Datebank mehrere Eintäge selektiere und sie dann mit der Funktion mysql_fetch_assoc in einen Array schreibe. Ich weiß mir nicht besser zu helfen scheinbar gibt es keine Funktion mit der ich in dem Fall (wo ich pro selektierter Zeile nur einen Wert erhalte) gleich in einen Eindimensionalen Array schreiben kann (mal davon abgesehen das mysql_fetch_array wohl besser wäre, weil den ich assoziativen Array ja nicht brauchen)?
Naja es reicht mir wie gesagt schon aus wenn mir jemand eine einfache und effektive Methode näherbringen könnte womit ich die beiden oben genannten Arrays ineinander überführe bzw. den Zweidimensionalen in den Eindimensionalen.

Boris 08.07.2008 01:59

Ungetestet:

foreach($arrayzweidimensional AS $key => $value) $neuesarray[] = $value;

:D

Dummy2k 08.07.2008 02:03

nen Beispielcode wäre nicht schlecht. Oder eine Erläuterung, warum das Array denn unbedingt nur Eindimensional sein soll. Denn, wenn man mehrere Spalten als Ergebnis hat, will man damit ja auch was machen.

foreach ($row = mysql_fetch_assoc($mysql_result)) {
$array[] = $row['id'];
}


@Boris: da kommt doch $key = 0..n und $value = array(name=>wert) bei raus, oder nicht? bin schon zu mallig um die Zeit.

kampfgnom 08.07.2008 08:19

Solltest du wirklich nur die ID wollen dann so:
PHP-Code:

$newArray = array();
for(
$i=0;$i<count($oldArray); $i++)
{
    
$newArray[$i] = $oldArray[$i]['id'];



braindead 08.07.2008 14:31

Danke für die Antworten auf die Idee mit der Schleife bin ich zwar auch gekommen, aber zumindest bestätigt es meine Vermutung das es dafür keine fertige Funktion zu geben scheint.

Was den Grund angeht: der Array ist zwei dimensional weil ich den select mit meiner mysql Klasse durchführe und dort habe ich eben eine Methode welche select Ergebniss in einen solchen Mehrdimensionalen Array speichern in der Regel braucht man ja nichts anderes. In diesem Fall will ich aber mit den Treffern eine Vergleichsmenge schaffen also eine Funktion schreiben die einen Bestimmten Wert auf vorkommen in eben diesem Array prüft.


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:20 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2021, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020