Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Array di indici

  1. #1

    Array di indici

    Avendo una array tipo

    $a[0] = 30;
    $a[1] = 10;
    $a[2] = 50;
    $a[3] = 20;
    $a[4] = 90;
    ...........
    ...........

    devo costruire una array ordinata e correlata al contenuto per valori crescenti, del tipo

    $a[0] = 30; --> $ind[2] = 2;
    $a[1] = 10; --> $ind[0] = 0;
    $a[2] = 50; --> $ind[3] = 3;
    $a[3] = 20; --> $ind[1] = 1;
    $a[4] = 90; --> $ind[4] = 4;
    .............................
    .............................

    Come posso fare? - Grazie - Giovanni

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    non c'ho capito un mazza...

    Codice PHP:
    $a[0] = 30; --> $ind[2] = 2;
    $a[1] = 10; --> $ind[0] = 0;
    $a[2] = 50; --> $ind[3] = 3;
    $a[3] = 20; --> $ind[1] = 1;
    $a[4] = 90; --> $ind[4] = 4
    Quale logica avrebbe?

  3. #3
    Esegui un asort() poi cicli sull'array ordinato e generi il nuovo array usando solo la chiave corrente.

  4. #4
    Ovviamente avevo scritto una stupidaggine. volevo dire:

    $a[0] = 30;
    $a[1] = 10;
    $a[2] = 50;
    $a[3] = 20;
    $a[4] = 90;

    $ind[0] = 1
    $ind[1] = 3
    $ind[2] = 0
    $ind[3] = 2
    $ind[4] = 4

    Come suggerito da filippo.toso

    asort($a);
    print_r($a);
    $ind = array_keys($a);
    print_r($ind);

    RisultatO:

    Array ( [1] => 10
    [3] => 20
    [0] => 30
    [2] => 50
    [4] => 90 )

    Array ( [0] => 1
    [1] => 3
    [2] => 0
    [3] => 2
    [4] => 4 )

    Grazie dell'aiuto - Giovanni

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.