php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.02.2005, 21:18  
Gast
 
Beiträge: n/a
Standard 2-dimensionales Array sortieren lassen

Hi Leute,

wie kann ich ein Array das wiefolgt aussieht, sortieren lassen:
PHP-Code:
<?php

Array
(
    [
0] => Array
        (
            [
0] => Name
            
[1] => integer
            
[2] => integer


        
)

    [
1] => Array
        (
            [
0] => Name
            
[1] => integer
            
[2] => integer


        
)

    [
2] => Array
        (
            [
0] => Name
            
[1] => integer
            
[2] => integer
         
)
}

?>
Das Array kann auch noch länger werden. Es soll nach dem Namen sortiert werden, also $array[$i][0] als Sortierschlüssel. Hat jemand eine Idee wie das geht?

Grüße,
LaLop
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.02.2005, 21:21  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

PHP-Code:
<?php
$array2 
=  array();
foreach(
$array as $key => $value) {
  
$array2[$key] = $value[0];
}
sort($array2);
array3 = array();
foreach(
$array2 as $key => $value) {
  
$array3[$key] = $array[$key];
}
$array $array3;
?>
Buhmann ist offline   Mit Zitat antworten
Alt 13.02.2005, 21:45  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich find das immer noch sehr schön

PHP-Code:
function my_function(&$a,&$b) {
  return 
strncasecmp($a['Name'],$b['Name']);
}
usort($array,'my_function'); 
http://www.php.net/usort

ließe sich glaube ich auch wunderbar als lambda-funktion schreiben, damit man für die vergleiche nicht jedesmal eine neue funktion schreiben muss, aber ich hab grad keine lust zu testen... :wink:

[edit]
achja - steht ja eh auf php.net, die lösung für die lambda-funktion:
PHP-Code:
<?
usort
($arrcreate_function('$a,$b','return strncasecmp($a,$b);'));
print_r($arr);
?>
http://de2.php.net/manual/en/functio...e-function.php
[/edit]
axo ist offline   Mit Zitat antworten
Alt 19.02.2005, 20:59  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

www.php.net/array_multisort

bzw. diverse Einträge zu diesem Thema hier im Forum
tapferesschneiderlein ist offline   Mit Zitat antworten
Alt 20.02.2005, 16:36  
Gast
 
Beiträge: n/a
Standard

array_multisort hat nicht ordentlich funktioniert!
Die Beispiele auf der Seite sind nicht gut genug erklärt, bzw für mein Problem nicht lösungsrelevant!
  Mit Zitat antworten
Alt 20.02.2005, 22:10  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

PHP-Code:
<?php

$sort_array 
= array();

foreach (
$array AS $sub_array)
    
$sort_array[] = $sub_array[0]; // <- das Feld, nach dem sortiert wird

array_multisort($sort_array$array);

print_r($array);
?>
tapferesschneiderlein ist offline   Mit Zitat antworten
Alt 21.02.2005, 00:03  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@tapferesschneiderlein
wirklich lästig, das rad neu zu erfinden, wenn ein einzeiler auch reichen würde, oder?

PHP-Code:
<?php
$arr 
= array();

$arr[] = array('alfred',1,0);
$arr[] = array('yps',2,3);
$arr[] = array('mickey',4,5);

// das hier ist der einzeiler.
usort($arrcreate_function('&$a,&$b''return strnatcasecmp($a[0],$b[0]);')); 


print_r($arr);
?>
axo ist offline   Mit Zitat antworten
Antwort


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
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Mehrdimensionales Array sortieren Unbekanntes_Pferd PHP Tipps 2006 6 23.05.2006 20:42
array richtig sortieren, dann ausgeben Heart PHP Tipps 2006 5 28.04.2006 20:23
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Array verkehrt sortieren (key) // letzter Arrayeintrag PHP Tipps 2005-2 5 20.09.2005 15:55
Mehr Dimensionales Array nach Unterwert sortieren Schaelle PHP Tipps 2005-2 5 05.09.2005 19:43
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array sortieren PHP Tipps 2005 7 15.05.2005 02:14
2 Array in Abhänigkeit sortieren? PHP Tipps 2005 4 10.02.2005 20:31
Array mit Gruppen: Wie Sortieren PHP Tipps 2005 2 29.01.2005 15:15
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array sortieren nach wert, php array sortieren, 2 dimensionales array sortieren, php 2 dimensionales array neu sortieren, sortierfunktion für 2 dimensionale arrays, 2dim array sortieren, php sort 2 dimensional array, php sort key belassen, usort array vorname nachname sortieren, 2 dim feld sortieren, php array sortieren nach wert in 2. dimension, php 2 dimensionales array sortieren nach int, php 2 dimensionales array sortieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:19 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.