Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: problema con cod php

  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    problema con cod php

    <?php

    #Genera tutte le possibili combinazioni ricevendo in ingresso una stringa con tutti caratteri #diversi.

    $parola="1,2,3,4,5,6,7,8,9,10";

    if($argc != 2){
    echo "Utilizzo: $argv[0] word\n";
    return;
    }
    $parola = $argv[1];
    $giaestratte = array();
    $finali = array();
    for($i=1,$a=1;$i<=strlen($parola);$i++){
    $a*=$i;
    }
    echo "$a Combinazioni Disponibili.\n";
    for($i=0;$i<$a;$i++){
    $estratta = Genera($parola);
    while(in_array($estratta,$giaestratte)){
    $estratta = Genera($parola);
    }
    $giaestratte[] = $estratta;
    $finali[] = $estratta;
    }
    print_r($finali);


    function Genera($parola){
    $estratti = array();
    for($b=0;$b<strlen($parola);$b++){
    $random = mt_rand(0,strlen($parola)-1);
    while(@in_array($random,$estratti)){
    $random = mt_rand(0,strlen($parola)-1);
    }
    $estratti[] = $random;
    $lettere[$b].=$parola[$random];
    }
    unset($estratti);
    foreach($lettere as $parola){
    $a.=$parola;
    }
    return $a;
    }


    Genera();

    ?>

    Questo codice lo faccio girare su easyphp3 e mi da questo errore:

    Notice: Undefined variable: argc in C:\Programmi\EasyPHP 3.0\www\comb.php on line 8
    Notice: Undefined variable: argv in C:\Programmi\EasyPHP 3.0\www\comb.php on line 9
    Utilizzo: word


    Non riesco proprio a capire perchè...

    Grazie agli esperti che mi aiuteranno a dipanare sta matassa...


  2. #2
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649

    ....

    potrebbe essere perchè non hai definito questa variabile $argc ..

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Si ma come la dovrei definire?

    Le ho inizializzate entrambe sia provando come array che come variabili...

    del tipo:

    $argc = array();
    oppure
    $argc="";

    ma non funzia...

    e così per...

    $argv = array();
    oppure
    $argv ="";

    ma nulla...

    :master:

  4. #4
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    Re: Si ma come la dovrei definire?

    Originariamente inviato da freetom
    Le ho inizializzate entrambe sia provando come array che come variabili...
    .......
    se le hai inizializzate (e non vedo l'inizializzazione nel codice) allora il rigo 8 non è quello dov'è
    echo "Utilizzo: $argv[0] word\n"; (che a contare mi risulta rigo 7)
    ecc....
    posta il codice esatto, comprese le righe vuote.

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    questo è tutto il cod...

    Codice PHP:

    <?php

    $argc 
    = array();
    $argv = array();

    //oppure...

    $argc "";
    $argv "";

    #Genera tutte le possibili combinazioni ricevendo in ingresso una stringa con tutti caratteri #diversi.

    $parola="1,2,3,4,5,6,7,8,9,10";

    if(
    $argc != 2){
    echo 
    "Utilizzo: $argv[0] word\n";
    return;
    }
    $parola $argv[1];
    $giaestratte = array();
    $finali = array();
    for(
    $i=1,$a=1;$i<=strlen($parola);$i++){
    $a*=$i
    }
    echo 
    "$a Combinazioni Disponibili.\n";
    for(
    $i=0;$i<$a;$i++){
    $estratta Genera($parola);
    while(
    in_array($estratta,$giaestratte)){
    $estratta Genera($parola);
    }
    $giaestratte[] = $estratta;
    $finali[] = $estratta
    }
    print_r($finali);


    function 
    Genera($parola){
    $estratti = array(); 
    for(
    $b=0;$b<strlen($parola);$b++){
    $random mt_rand(0,strlen($parola)-1);
    while(@
    in_array($random,$estratti)){ 
    $random mt_rand(0,strlen($parola)-1);
    }
    $estratti[] = $random;
    $lettere[$b].=$parola[$random];
    }
    unset(
    $estratti); 
    foreach(
    $lettere as $parola){
    $a.=$parola;
    }
    return 
    $a;
    }


    Genera();

    ?>

  6. #6
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    ci sono un pò di cose che secondo me non tornano,comunque tra le tante la function genera non va dove l'hai messa va messa in testa al documento...come tutte le funzioni

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    messa in testa... ma non funzia... ugualmente...


  8. #8
    $argc e $argv hanno senso se usi php da riga di comando, e' cosi' che fai?

    Poi non ho capito cosa esattamente dovrebbe fare lo script.

  9. #9
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Lo script dovrebbe generare tutte le triple possibili

    a partire da un insieme di numeri voluti dati in pasto allo script mediante una stringa o un array...

    es:

    $numeri="1,2,3,4,5,6";

    lo script mi dovrebbe dare tutte le triple possibili non uguali del tipo:

    1,2,3
    1,2,4
    1,2,5
    1,2,6
    1,3,4
    1,3,5
    ecc...

    "$argc e $argv hanno senso se usi php da riga di comando, e' cosi' che fai?" no.

    lo script gira su un webserver locale easyphp3 richiamando un'apposita pagina php.


  10. #10
    Allora non capisco dove tu abbia preso argv e argc, che sono due variabili che si usano SOLO con php via linea di comando. Peraltro nel tuo script sarebbero comunque inutili perche' le inizializzi ad array (o stringhe) vuoti all'inizio, rendendo di fatto nullo il valore che vuoi elaborare.

    Definisci $parola e poi lo sovrascrivi con un valore inesistente di un array vuoto, per tua stessa definizione. Chiaro che php si lamenta

    Prova questa versione (il codice delle combinazioni non l'ho guardato, ho solo fatto un po' d'ordine tra le variabili)

    Codice PHP:
    <?php

    #Genera tutte le possibili combinazioni ricevendo in ingresso una stringa con tutti caratteri #diversi.

    $parola="1234";

    $giaestratte = array();
    $finali = array();
    for(
    $i=1,$a=1;$i<=strlen($parola);$i++){
        
    $a*=$i;
    }
    echo 
    "$a Combinazioni Disponibili.\n";
    for(
    $i=0;$i<$a;$i++){
        
    $estratta Genera($parola);
        while(
    in_array($estratta,$giaestratte)){
            
    $estratta Genera($parola);
        }
        
    $giaestratte[] = $estratta;
        
    $finali[] = $estratta;
    }
    print_r($finali);


    function 
    Genera($parola){
        
    $estratti = array();
        for(
    $b=0;$b<strlen($parola);$b++){
            
    $random mt_rand(0,strlen($parola)-1);
            while(@
    in_array($random,$estratti)){
                
    $random mt_rand(0,strlen($parola)-1);
            }
            
    $estratti[] = $random;
            
    $lettere[$b].=$parola[$random];
        }
        unset(
    $estratti);
        foreach(
    $lettere as $parola){
            
    $a.=$parola;
        }
        return 
    $a;
    }


    #Genera($parola);

    ?>

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.