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

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_datensaetze_in_mehrdimensionalem_arrays_lesen__92620/page_1 - zur Vollversion wechseln!


bBU.CyTrobIc schrieb am 12.09.2003 um 12:26

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 schrieb am 12.09.2003 um 12:31

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 schrieb am 12.09.2003 um 13:52

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 schrieb am 12.09.2003 um 13:53

Code: PHP
$neu["2"] = array("name1" => "var1", "name2" => "var2");
Existiert ein Key nicht wird er automatisch angelegt.


bBU.CyTrobIc schrieb am 12.09.2003 um 13:55

ahh danke, sehr geil - so einfach, gewusst wie :)

ich probiers gleich mal aus !
thx euch !


bBU.CyTrobIc schrieb am 12.09.2003 um 19:12

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 schrieb am 12.09.2003 um 23:56

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 schrieb am 15.09.2003 um 08:07

hehe jo thx dir, ich probiers ma.


bBU.CyTrobIc schrieb am 15.09.2003 um 13:29

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 schrieb am 15.09.2003 um 13:53

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 schrieb am 15.09.2003 um 14:30

threads merged


bBU.CyTrobIc schrieb am 15.09.2003 um 14:52

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 schrieb am 15.09.2003 um 15:05

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


bBU.CyTrobIc schrieb am 15.09.2003 um 15:20

ejo np :D ich probiers ma aus, thx


atrox schrieb am 15.09.2003 um 17:04

echo "Um: ".$tabelle['1']['wert2']." wurde ....

kurzversion, für schreibfaule:

echo "Um: {$tabelle[1][wert2]} wurde ....




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025