mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 23:40 Benutzername: Passwort: Auto-Login

Thema: [php]: problem mit arrays die zusammen sortiert werden solle vom 31.05.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php]: problem mit arrays die zusammen sortiert werden solle
Autor Nachricht
baskoralle
Threadersteller

Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht: Männlich
Verfasst Mi 31.05.2006 17:43
Titel

[php]: problem mit arrays die zusammen sortiert werden solle

Antworten mit Zitat Zum Seitenanfang

hi,
hab ein kleines problem mit zwei arrays. irgendwie macht unser cms bissl komisches zeug. also es werden die vorhandenen dateien und die dazugehörigen namen ausgelesen. es handelt sich dabei einmal um einen string und bei dem anderen ist das eine zahlenfolge. unser cms macht das eigentlich auch gut mit das es die zahlenfolge immer in numerischer reihenfolge darstellt. ausser in einem ordner. F*CK. * Keine Ahnung... * jetzt wollt ich um das zu umgehen ganz einfach beide arrays zusammen sortieren, also $apid (is numerisch fortlaufend oder mit unterbrechung je nach dem was da is 1_186_01 usw.) und $abes (is ein string). also beide zu einem array zusammenfassen, sortieren und dann wieder jedes in ein array für sich zur ausgabe mit einer schleife. hab schon alles mögliche ausprobiert aber irgendwie krieg ich das nicht hin. vielleicht kann mir ja jemand helfen.

code:

Code:
<?php
$fhnd=opendir ('var');
#echo "Files:\n";
$i=0;
while (false !== ($file = readdir ($fhnd))) {
   
    if ($file != "." && $file != ".." && !stristr($file, '.xml') && !stristr($file, '.wfb') && $file != "index") {
      #echo "$file<br>";
      $inclfile="var/".$file;

$hnd=fopen ("$inclfile", "r");
  while (!feof($hnd)) {
       $buffer = fgets($hnd, 4096);
       if (stristr($buffer, 'web:text:start ')) {
         #echo("B:".$buffer.":B");
         $beginln=$buffer;
         $result=$buffer;
         if (!stristr($result, 'web:text:stop')) {
           do {
             $buffer = fgets($hnd, 4096);
             #echo("BI:".$buffer.":IB\n");
             $result=$result.$buffer;
           } while (!stristr($buffer, 'web:text:stop'));
         }
         $result=strip_tags($result);
         $result=chop($result);
         $result=str_replace("\n", "<BR>", $result);

         #echo("RES:".$result.":RES\n");

         if (stristr($beginln, 'id="pid"')) $pid=$result;
         if (stristr($beginln, 'id="fld"')) $fld=$result;
         if (stristr($beginln, 'id="bes"')) $bes=$result;
         
       }
   }
fclose($hnd);

  if (isset ($bes)) $bes = strrchr($bes, ": ");
  if (isset ($bes)) $bes = substr($bes, 2);
 
  $apid[$i]=$pid;
  $abes[$i]=$bes;
  $afile[$i]=$file;
  #echo ("<br>".$apid[$i]);
  $i++;
   }
}



also $apid (numerisch) und $abes(string) müssen in ein array um es zu sortieren und dann wieder jedes für sich in ein separates array. mir fällt nix mehr ein..... *hu hu huu*

vielen dank schon mal

baskoralle
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Mi 31.05.2006 18:34
Titel

Antworten mit Zitat Zum Seitenanfang

Auf die schnelle, ohne den Code verstanden zu haben: Evtl. könnte dir http://de.php.net/array_multisort helfen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
baskoralle
Threadersteller

Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht: Männlich
Verfasst Do 01.06.2006 10:00
Titel

Antworten mit Zitat Zum Seitenanfang

@tacker:

moin,
habs mal mit deinem tip ausprobiert und hinbekommen. weiß nicht warum ich dat übersehen habe, naja manchmal klappt es eben erst am darauffolgenden tag.

so hab ich es jetzt gemacht, falls es dich interessiert hier der code:

Code:
for($x=0;$x<=count($apid);$x++)
{
$zusamm[$x]=array('pid'=>$apid[$x],'bes'=>$abes[$x]);
}

foreach($zusamm as $key=>$row)
{
$apid[$key]=$row['pid'];
$abes[$key]=$row['bes'];
}
array_multisort($apid,SORT_ASC,$abes,SORT_ASC,$zusamm);


vielen vielen dank für den denkanstoß, baskoralle


* Applaus, Applaus * * huduwudu! * * huduwudu! * * Applaus, Applaus *
  View user's profile Private Nachricht senden
 
Ähnliche Themen Actionscript / PHP: Arrays in Arrays bei Übergabe mit Post?
Problem mit PHP, Arrays und MySQL
Problem bei der Übermittlung vor Artikel-Arrays
XML Ausgabe in Arrays
mySQL Abfrage sortiert Jan - Dez wie?
Arrays anlegen und auslesen.
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.