php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.08.2004, 20:03  
Gast
 
Beiträge: n/a
Standard 2 arrays in abhängigkeit ???

Hallo Phpler,

sitze gerade an meinem script und verzweifle. Ich hoffe,dass ihr mir weiterhelfen könnt.

Um es kurz zu fassen:
Ich habe zwei arrays in dem einen stehen Alter drin und in einem zweiten die dazugehörigen Namen. Nun soll der erste array sortiert werden. Da ich nun den jüngsten haben möchte, kann ich mit array1[0] den herausbekommen, aber wie bekomme ich nun den dazugehörigen Namen heraus?. Weil der hat seine Position in dem array ja nicht verändert. Kann man die beiden arrays irgendwie koppeln oder irgendwie was mit mehrdimensionalen Arrays machen? bitte um antwort (dürfte für euch profis doch kein problem sein)

danke!!!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.08.2004, 21:11  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

So ohne weiteres geht das eigentlich gar nicht ....

Ein grundsätzliche Möglichkeit: du müsstest "nur" einen weiteren Array haben, der das Lookup umdreht. Dass du also unter dem Alter als ArrayIndex, den ursprünglichen ArrayIndex speicherst.

Problem: gleiches alter ... da verschwindet dann ein Eintrag.

Lösung: Unter jedem Alter steckt nochmal ein Array.


In jedemfalle musst du vor dem Sortieren, den "Alter"-Array per foreach() durchlaufen:
PHP-Code:
<?php

$ageLookUp 
= array();
foreach (
$ages as $key => $age) {
    if (!isset(
$ageLookUp[$age])) {
        
$ageLookUp[$age] = array();
    }
    
$ageLookUp[$age][] = $key;
}

print 
'<pre>';
var_dump($ageLookUp);
print 
'</pre>';

?>
über $ageLookUp solltest du wieder an den Original Index kommen, mit dem Du die Name auslesen kannst.
Guradia ist offline  
Alt 11.08.2004, 21:19  
Gast
 
Beiträge: n/a
Standard

eine Lösung:
Zusammenfassen, was zusammen gehört
Name und Alter gehören zusammen, also sollten sie auf einer (Feld-)Ebene angeordnet sein
PHP-Code:
<?php

function cmpAlter($arrA$arrB)
{
    if(
$arrA['alter']==$arrB['alter'])
        return 
0;
    else if(
$arrA['alter']>$arrB['alter'])
        return 
1;
    else
        return -
1;
}

$personen = array(
        array(
'name'=>'A''alter'=>3),
        array(
'name'=>'D''alter'=>2),
        array(
'name'=>'B''alter'=>4),
        array(
'name'=>'C''alter'=>1)
    );
    
usort($personen'cmpAlter');
print_r($personen);
?>
andere Lösung:
die getrennten Felder beibehalten und per array_multisort sortieren
PHP-Code:
<?php
$namen 
= array('A''B''C''D');
$alter = array(6482);

array_multisort($alterSORT_ASCSORT_NUMERIC$namen);

$a reset($alter);
$n reset($namen);
while(
false!==$a && false!=$n)
{
    echo 
$a': '$n"
\n"
;
    
$a next($alter);
    
$n next($namen);
}
?>
Die erste Lösung bevorzuge ich eindeutig, denn iterieren über mehere Felder ist unschön - auf die Daten kann man sich ja garnicht verlassen.

siehe auch:
http://php.net/usort
http://php.net/array_multisort
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrere Arrays summieren buggybugga PHP-Fortgeschrittene 8 22.07.2008 11:51
Variable Variablen zusammen mit Arrays Kenshin PHP Tipps 2008 2 20.04.2008 15:30
eindimensionale arrays sortieren webazubi PHP Tipps 2007 5 23.03.2007 18:11
Mehrere Mehrdimensionale Arrays Stefano PHP Tipps 2006 5 12.10.2006 13:18
Arrays sortieren, Bezeichnung, Preis Ticos PHP Tipps 2006 4 07.09.2006 19:37
Arrays kreuzen PHP Tipps 2006 13 08.03.2006 11:36
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
[Erledigt] Objektorientierter Zugriff auf Multidimensionale Arrays PHP-Fortgeschrittene 31 26.11.2005 21:46
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Zwei mehrdimensionale arrays "verbinden"? Heart PHP Tipps 2005 13 21.06.2005 20:05
zweidimensionale Arrays für Templates aufbereiten? PHP Tipps 2005 6 22.03.2005 20:49
Alle Kombinationen von mehreren Arrays PHP-Fortgeschrittene 2 18.02.2005 09:59
5 assosiative arrays gleichzeitig sortieren PHP Tipps 2004-2 2 13.12.2004 14:07
Erkennung von Arrays in Strings PHP-Fortgeschrittene 15 07.12.2004 13:00
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zwei arrays gleichzeitig, arrays in abhängigkeit sortieren, php 2 arrays gleichzeitig auslesen, 2 arrays in abhänigkeit auslesen, javascript 2 arrays glkeichzeitig durchlaufen, php array sortieren abhängig, name und alter in einem array, foreach zwei arrays index, 2 arrays mit abhängigkeit, zwei array gleichzeitig, javascript 2 arrays mit index abhängigkeit sortieren, mehrdimensionales array abhängigkeit php, qalter array, array sortieren abhängigkeit, c: 2 arrays gleichzeitig sortieren, mehrere arrays gleichzeitig, array_multisort in abhängigkeit, php arrays abhängig, 2 arrays in foreach durchlaufen, php zwei array gleichzeitig sortieren

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.