"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

PHP: datensätze in mehrdimensionalem arrays (lesen/schreiben)

bBU.CyTrobIc 15.09.2003 - 13:29 717 15
Posts

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
Hi,

ich hab da ein Problem, wie ich ein mehrdimensionales Array erstelle weiss ich mittlerweile, aber wie bekomm ich da dynamisch Werte eingetragen ?

zb in einer schleife, beim ersten durchlauf sollen 6 werte in die erste zeile des array geschrieben werden, im nächsten durchlauf in die zweite usw.

wie ist das zu machen ?

dankbar für jede hilfe :)

mfg Gerrit

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10334
Code: PHP
for($i=0,$i==9,$i++)
{
 for($j=0,$j==9,$j++)
 $var[$i][$j]=DATENABFRAGE;
 }
}

so bekommst die daten in ein 2dimensionales array (im beispiel ein 10*10 array)

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
hi ich nochma :D

ähhm, ich plan das nicht ...

ein Array erstellen kann ich ja folgendermassen:

Code: PHP
$neu = array("0" => array("name1" => "var1", "name2" => "var2"),
             "1" => array("name1" => "var1", "name2" => "var2")
);

aber wie bekomm ich in das array zb eine zeile "2" und "3" ... usw. ?

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4452
Code: PHP
$neu["2"] = array("name1" => "var1", "name2" => "var2");
Existiert ein Key nicht wird er automatisch angelegt.

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
ahh danke, sehr geil - so einfach, gewusst wie :)

ich probiers gleich mal aus !
thx euch !

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
hi dank euch erstmal für die hilfe, und weiter gehts :D

ich möcht jetzt alle arrays nach dem ersten wert sortieren zb.:

Code: PHP
array (array("zahl" =>"2", blabla),
      (array("zahl" =>"3", blabla),
      (array("zahl" =>"1", blabla),
);

soll:

Code: PHP
array (array("zahl" =>"1", blabla),
      (array("zahl" =>"2", blabla),
      (array("zahl" =>"3", blabla),
);

werden, oder besser noch umgekehrt (3...2...1). mit ksort, usort und array_mulitsort bis jetzt keinen erfolg gehabt :(

thx

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
bla...

Zitat
http://at.php.net/manual/en/function.uasort.php
naholyr at yahoo dot fr
10-Jan-2003 03:35

You can sort a multidimensionnal array by any of its key with this function:

Code: PHP
function multi_sort($array, $key)
{
  $cmp_val="((\$a['$key']>\$b['$key'])?1:
    ((\$a['$key']==\$b['$key'])?0:-1))";
  $cmp=create_function('$a, $b', "return [color=red]$cmp_val[/color];");
  uasort($array, $cmp);
  return $array;
}

example:
$myarray = array(
array("name"=>"kernighan", "language"=>"c"),
array("name"=>"lerdorf", "language"=>"php"),
array("name"=>"Stroustrup", "language"=>"c++"),
array("name"=>"Gosling", "language"=>"java")
);

multi_sort($myarray, "name") returns:
name=Gosling language=java
name=Kernighan language=c
name=Lerdorf language=php
name=Stroustrup language=c++
(in rot die fehler die laut einem weiteren kommentar gemacht wurden)

so, bis jetzt waren alle probleme die du hattest praktisch direkt mittels "www.php.net" lösbar... du solltest doch ein bisserl mehr versuchen selbst zu denken - bzw. in dem fall nachzulesen (duh... *thats* dificult...) bevor du hier romane schreibst...

PS: Ich hab die Funktion NICHT getestet, das überlass ich dir...

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
hehe jo thx dir, ich probiers ma.

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
tja,

ehrlich gesagt bin ich zu dumm dazu aber ihr wisst es sicher :)

danke schonmal

ps: dumme kommentare hierzu dürfen sich verkniffen werden :D

cduke

Big d00d
Registered: Nov 2001
Location: 1230 Wien
Posts: 253
meinst Du einfach diese Sache:

<?php

// Array zusammenstellen
$array[0][0] = 'f';
$array[0][1] = 'o';
$array[0][2] = 'o';
$array[1][0] = 'b';
$array[1][1] = 'a';
$array[1][2] = 'r';

// einen Wert ausgeben
echo $array[1][0];

?>

### Ausgabe ###

b



Wenn ich Dich falsch verstanden hab - sorry :)

cya cduke

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
threads merged

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
Hmm also so schauts aus:

in einer schleife wird das ding so vollgemacht:

Code: PHP
$tabelle[$anzahl] = array("wert1" => "$zeit", "wert2" => "$name", "wert3" => "$link");

so die schleife läuft 1 bis 50 mal durch und zählt dabei $anzahl immer ein hoch.

und jetzt möchte ich folgendes ausgeben:

echo("Um: [hier die zeit vom erstem datensatz aus dem array $zeit] wurde der Link: [hier der link vom erstem datensatz aus dem array $link] von: [hier die name vom erstem datensatz aus dem array $name]");

is it possible ?

thx, mfg gerry

orpheus

in a nutshell
Avatar
Registered: Mar 2002
Location: Klagenfurt
Posts: 533
mag sein das ich dich falsch verstanden habe :confused:

echo "Um: ".$tabelle['1']['wert2']." wurde der Link: ".$tabelle['1']['wert1']." von: ".$tabelle['1']['wert3'];

hth
Bearbeitet von orpheus am 15.09.2003, 15:29

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
ejo np :D ich probiers ma aus, thx

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
echo "Um: ".$tabelle['1']['wert2']." wurde ....

kurzversion, für schreibfaule:

echo "Um: {$tabelle[1][wert2]} wurde ....
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz