Io userei il foreach con PDOStatement::fetchAll invece di PDOStatement::fetch
Codice PHP:
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
print $row;
}
Codice PHP:
if(!emtpy($d)) {
$immage = 'test';
$temp_arr = array('immage' => $immage);
//$altroarray = array('device' => 'test', 'test' => 'valore', 'altroindice' => 'valore');
$altroarray = $temp_arr + $d; // tutti i campi di $d anche multidimensionale se non limitato e anche con "WHERE" può essere più resultset discorso diverso con campo univoco, se uso la sintassi array potrei limitare gli elementi effettivi già presenti nel mio involucro della variabile array
}
else {
//forse da php 9 non sarà più consentito ridefinire il tipo di variabile se è un boolean, questo sorpassa il problema
$d = null;
unset($d);
$d = array();
$altroarray = $d;
}
return $altroarray;
Codice PHP:
//propria applicazione
if(is_array($altroarray) && count($altroarray) !== 0) {
//array con almeno uno o più elementi
}
Da php 8.0.0 PDOStatement::fetchAll restituisce un array vuoto invece di false.
con la sintassi array e tre valori stai recuperando solo essi e non esisterà più l'indice model nella variabile $d['model']