Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    range e array_rand. zero inatteso

    Mi spiegate perchè mi succede questo:

    $numeri = range(1,10);

    e mi crea l'array di valori da 1 a 10 come mi aspetto.

    Adesso voglio estrarre tre valori e faccio

    $estratti = array_rand($numeri,3);
    e ottengo per esempio

    [0] => 0
    [1] => 2
    [2] => 5

    Visto che i numeri che mi da son sempre tra 0 e 9 ho pensato che usando array_values mi restituisse i valori associati alle chiavi
    print_r(array_values($estratti));

    e invece ottengo lo stesso 0,2,5.
    Stesso risultato così.
    echo $estratti[0];
    echo $estratti[1];
    echo $estratti[2];

    Insomma sembra che lo 0 sia proprio un valore e non la chiave. Ovviamente il numero 10 non compare mai. come si spiega? dove sbaglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    array_rand ti restituisce l'indice dell'array, non il valore, quindi devi poi leggere il valore usando l'array di partenza;

    Codice PHP:
    foreach ($estratti as $casuale)
    {
        echo 
    $numeri[$casuale];

    No pvt per sollecitare risposte, grazie.

  3. #3
    Grazie. Così funziona.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    Prego
    No pvt per sollecitare risposte, grazie.

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.