Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606

    count su array recursivi

    Ammetto che uso poco count() e solo per ciclare dei valori variabili, quindi non sempre capisco i suoi risultati, ma questa volta, proprio non mi torna.
    In pratica sto creando un semplice captcha con un array che da domande e risposte.
    Codice PHP:
    $valori = [
        
    'domanda' => [
            
    'colore del limone''colore dell\'arancia',
            
    'quanto fa uno + cinque',
            
    'quando miagola il gatto fa?',
            
    'quante gambe ha un cane? ( in cifra )',
            
    'quante gambe ha un gatto? ( a lettere )'
        
    ],
        
    'risposta' => [
            
    'giallo''arancio',
            
    'sei',
            
    'miao',
            
    '4',
            
    'quattro'
        
    ]
    ]; 
    per generare la domanda uso mt_rand() che va da 0 al massimo numero di domande, conteggiato con count().
    E qui casca l'asino, il risultato è 6 io mi aspettavo 5, ma no mi da sei.
    Codice PHP:
    $domanda mt_rand0count$valori['domanda'] ) - );
    // prova:
    echo count$valori['domanda'] );  //  6
    // Ovviamente, se...
    echo count$valori );  //  2 
    Ammetto la mia ignoranza ma non dovrebbe darmi 5?

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    EDIT:
    Leggendo il manuale online del PHP, scopro che count() ha un parametro opzionale in più COUNT_RECURSIVE il quale conta tutto il "cucuzzaro".
    Nel mio caso, vedi il post di cui sopra, il risultato è 14.

    Al momento ho risolto dividendo 14 per 2 e poi togliendo ancora due alla cifra risultante, così ho 5.
    Non mi pare molto ortodosso, a me funziona perché i valori dei due sotto array sono sempre uguali, ma in casi diversi non saprei cosa fare.

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Perché ti aspetti 5? Le domande sono 6
    Codice PHP:
    'domanda' => [
            
    'colore del limone'// 1
            
    'colore dell\'arancia'// 2
            
    'quanto fa uno + cinque'// 3
            
    'quando miagola il gatto fa?'// 4
            
    'quante gambe ha un cane? ( in cifra )'// 5
            
    'quante gambe ha un gatto? ( a lettere )' // 6
        
    ], 

  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Perché ti aspetti 5? Le domande sono 6
    Codice PHP:
    'domanda' => [
            
    'colore del limone'// 1
            
    'colore dell\'arancia'// 2
            
    'quanto fa uno + cinque'// 3
            
    'quando miagola il gatto fa?'// 4
            
    'quante gambe ha un cane? ( in cifra )'// 5
            
    'quante gambe ha un gatto? ( a lettere )' // 6
        
    ], 
    Perché sono scemo non mi ero accorto che l'arancia era finita accanto al limone
    In pratica andava bene fin dall'inizio

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.