Ciao a tutti.
Ho un metodo al quale passo una stringa di sql per eseguire una query, crea un' array ed effettua il return della stessa. Quindi una volta lanciato il metodo e valorizzato una variabile, la passo ad un secondo metodo che dovrebbe crearmi le option di una select. Se eseguo un var_damp() dell' array nel primo metodo visualizzo
array(2) { [0]=> array(2) { [1]=> string(1) "1" [2]=> string(11) "sede legale" } [1]=> array(2) { [1]=> string(1) "2" [2]=> string(13) "punto vendita" } }
se invece faccio un var_dump() dell' array nel secondo metodo mi viene diverso cosi:
array(6) { [0]=> string(0) "" [1]=> array(2) { [0]=> array(2) { [1]=> string(1) "1" [2]=> string(11) "sede legale" } [1]=> array(2) { [1]=> string(1) "2" [2]=> string(13) "punto vendita" } } [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" [5]=> string(0) "" }
Primo metodo:
Codice PHP:
public function metodo1($sql)
{
$result = mysqli_query($this->_link, $sql);
$get_column = $result->fetch_fields();
foreach ($get_column as $column)
{
$columns[] = $column->name;
}
$i=0;
while ($row = $result->fetch_assoc())
{
$var[] = array(1 => $row[$columns[0]], 2 => $row[$columns[1]]);
$i++;
}
var_dump($var); //Questo sembrerebbe andare bene perchè trova 2 array
return $var;
}
public function metodo2($var)
{
var_dump($var); //mi dice che ci sono 6 array...
}
Quindi dal mio file scrivo:
Codice PHP:
$getArray = $obj->metodo1("SELECT campo1, campo2 FROM tabella");
$obj->metodo2($getArray);
e vedo che il var dump cambia rispetto a quello eseguito nel primo metodo.
Spero di essere stato chiaro, 1000 grazie a chi mi aiuta