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

    [PHP] foreach(), Invalid argument

    Ciao a tutti.

    Prima di esporre il mio quesito vi vorrei ringraziare per la pazienza, non sono molto ferrato in programmazione, quindi spesso faccio domande sciocche.

    Ho creato un file php molto semplice. prova.php
    Codice PHP:
    $prova = array ("casa","auto","albero","finestra","negozio","macchina");
            
    $control "negozio";

    foreach(
    $prova as $temp)
    {
        if (
    strstr($control$temp))
        {
            echo 
    "ok";
            break;
        }
        else echo 
    "no";

    fino a qui tutto bene, il problema è uscito quando ho spostato il tutto nella classe che sto scrivendo. classProva.php
    Codice PHP:
    private $control;
    private 
    $prova = array ("casa","auto","albero","finestra","negozio","macchina");

    public function 
    get_control()
     {
       return 
    $this->$control;
     }
            
    public function 
    set_control($control)
     {
       foreach(
    $prova as $temp
      {
       if (
    strstr($control$temp))
       {
         
    $this->control"non valido";
         break;
        }
       else 
    $this->control $control;
      }
     } 
    Mi chiama questo errore:
    Warning: Invalid argument supplied for foreach()

    Mi potreste spiegare perchè?

    Ciao e grazie.
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  2. #2
    Mi ero dimenticato di dire che l'errore lo lancia quando richiamo l'oggetto della classe, da un altro file.

    Codice PHP:
    $objcontrol = new Prova();
    $objcontrol->set_control("negozio");
    $prova $objcontrol->get_control();
    echo 
    $prova
    Se la felicità è dietro l'angolo allora la mia vita è un cerchio. (Mario Muraro)

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi modificare la riga:
    codice:
    return $this->$control;
    con:
    codice:
    return $this->control;

    e la riga:
    codice:
    foreach($prova as $temp)
    con:
    codice:
    foreach($this->prova as $temp)


    think simple think ringo

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.