Visualizzazione dei risultati da 1 a 10 su 30

Visualizzazione discussione

  1. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da Alfoxx Visualizza il messaggio
    aiutandomi con il manuale mi sembra di capire che se l'indirizzo $ip e' settato (quindi e' presente/esiste gia') nel array $pulsante, mi da un risultato positivo, giusto?

    quindi nel comando array_key_exists () va prima cosa si vuole cercare nel array (nel nostro caso $ip) e poi l'array in cui cercare (nel nostro caso $pulsante)
    array_key_exists() funziona così: prende l'array che gli viene passato come secondo parametro (per noi $pulsante) e controlla per ogni elemento se il suo indice è uguale alla variabile che gli si passa come primo parametro (per noi $ip)

    quindi supponendo di avere
    $ip = '127.0.0.1';

    $pulsante = array( '192.168.1.1' => 3, '127.0.0.1' => 2 );
    quindi 2 elementi, uno con indice 192.168.1.1 e valore 3, l'altro con indice 127.0.0.1 e valore 2

    la funzione restituirà true, perché un elemento con indice 127.0.0.1 nell'array è presente, se non ci fosse restituirebbe false.


    il foreach mi sembra molto strano come ciclo rispetto al while e al for.
    Da quello che ho capito, e' un ciclo che mi permette di scorrere gli elementi di un array associativo, quindi array che hanno come indice una stringa e non un numero.
    foreach() lo puoi usare in ogni caso, con qualsiasi array.
    Codice PHP:
    // Avendo
    $array = array ( 'elemento 1''elemento 2''elemento 3' );

    // quindi un array non associativo, ma con indice numerico, puoi ancora fare
    foreach( $array as $key => $value )
    {
        echo 
    "Indice $key, valore $value<br>";
    }

    // che stamperebbe
    // Indice 0, valore elemento 1
    // Indice 1, valore elemento 2
    // Indice 2, valore elemento 3 
    Diversamente da for e while, per foreach non hai bisogno di sapere il numero di elementi presenti nell'array, con for ad esempio per scorrere tutto l'array dovresti fare

    for ( $i=0; $i < count($array); $i++ )

    quindi devi contare quanti elementi ha, foreach invece ci pensa da solo

    Inoltre foreach ti permette un accesso più comodo alle informazioni dell'array, sia all'indice che al valore.

    Comunque non ti preoccupare, i primi tempi foreach() sembrava strano anche a me, ma una volta che capisci come funziona non usi altro per ciclare sugli array.

    1) che vuol dire si prende il valore? cioe' si considera il valore di ogni elemento?

    se ho
    foreach($array as $value){
    echo "i valori sono $value";}

    visualizzo tutti i valori memorizzati nell'array?
    Esatto, foreach() cicla su tutto l'array, un elemento alla volta e ad ogni ciclo mette nella variabile $value il valore dell'elemento che sta esaminando durante quella iterazione.

    2)mi stai dicendo che con questa dicitura
    foreach($array as $key => $value)

    $key viene ad essere usato in questo istante per la prima volta e viene valorizzato per ogni ciclo con l'indice dell'array $array, mentre invece $value viene valorizzato per ogni ciclo con il valore
    Sì, anche $key cambia ad ogni iterazione del ciclo, come $value, solo che in $key ci sarà l'indice dell'elemento corrente, in $value ci sarà il suo valore.
    Con un esempio:
    Codice PHP:
    $array = array ( 'primo' => 'elemento 1''secondo' => 'elemento 2'=> 'elemento 3' );

    foreach(
    $array as $key => $value)
    {
        echo 
    "Indice $key, valore $value<br>";
    }

    // stamperà
    // Indice primo, valore elemento 1
    // Indice secondo, valore elemento 2
    // Indice 3, valore elemento 3 
    quindi:
    prima iterazione -> $key = 'primo', $value = 'elemento 1'
    seconda iterazione -> $key = 'secondo', $value = 'elemento 2'
    terza iterazione -> $key = 3, $value = 'elemento 3'

    forse l'ultimo codice di Alhazred è quello risolutivo al momento, ma devo studiarlo meglio, però ho visto che non ha il passaggio per riferimento e mi pare più lineare al momento per me
    Sì, ma se devi mostrarlo a scuola ad un professore non farlo, ci sono cose che sicuramente non vi ha spiegato, mi riferisco all'uso di "variable variable" ovvero variabili con nome variabile, se poi il professore fosse uno che apprezza lo spirito di iniziativa allora puoi provarci a portarglielo, poi però ci dici come è andata
    Ultima modifica di Alhazred; 12-08-2016 a 11:32

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.