Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
baskoralle
Threadersteller
Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht:
|
Verfasst Mi 31.05.2006 17:43
Titel [php]: problem mit arrays die zusammen sortiert werden solle |
|
|
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. 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.....
vielen dank schon mal
baskoralle
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
|
|
|
|
Anzeige
|
|
|
baskoralle
Threadersteller
Dabei seit: 17.02.2006
Ort: hamburch
Alter: 49
Geschlecht:
|
Verfasst Do 01.06.2006 10:00
Titel
|
|
|
@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
|
|
|
|
|
|
|
|
Ä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.
|
|
|
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.
|
|