Pagina 1 di 1

[risolto] PHP notice: Array to string conversion

Inviato: venerdì 20 maggio 2016, 5:46
da TommyB1992
Errore:

Information: PHP notice in file /private/include/database/MySQLi.php (121): Array to string conversion

che corrisponde alla riga:

$error = str_replace(array(array_keys($tables), array_keys($fields)), array($this->tables, $this->fields), $error);


Attualmente ho modificato così per farlo funzionare, ma onestamente non mi piace:

Codice: Seleziona tutto

             foreach ($this->tables as $name => $alias) {
                $error = str_replace($name, $alias, $error);
            }
            
            foreach ($this->fields as $name => $alias) {
                $error = str_replace($name, $alias, $error);
            }  

Re: [php] PHP notice: Array to string conversion

Inviato: venerdì 20 maggio 2016, 8:04
da Zoff
I parametri di str_replace possono essere stringhe o array mono-dimensionali.
Tu gli passi array bi-dimensionali.

Puoi fare così:

Codice: Seleziona tutto

$tablesAndFields = array_merge($this->tables, $this->fields);
$error = str_replace(array_keys($tablesAndFields), $tablesAndFields, $error);

Re: [php] PHP notice: Array to string conversion

Inviato: venerdì 20 maggio 2016, 8:13
da TommyB1992
Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4883713#p4883713][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:I parametri di str_replace possono essere stringhe o array mono-dimensionali.
Tu gli passi array bi-dimensionali.

Puoi fare così:

Codice: Seleziona tutto

$tablesAndFields = array_merge($this->tables, $this->fields);
$error = str_replace(array_keys($tablesAndFields), $tablesAndFields, $error);
grazie