Invalid argument supplied for foreach() in clasa PHP
Scris: Joi Mai 24, 2018
Salutare,
Am urmatoarea clasa:
Dupa executia codului, foreach-ul returneaza corect valorile insa imi apare pe linia de cod cu al doilea foreach:
In arra1 imi este preluat si numele proprietatii prop2 si nu inteleg de ce.
Daca in clasa getTest elimin proprietatea public $prop2; nu imi mai returneaza acel warning, insa am nevoie de acea proprietate pentru ca clasa va mai avea metode.
De ce imi apare acel warning si cum il pot elimina?
Multumesc!
Am urmatoarea clasa:
Cod: Selectaţi tot
class getTest {
public $prop1;
public $prop2;
function fnc1 ($argument){
try {
$arr1 = array();
.....
$this->prop1 = $arr1;
////////// $arr1 arata cam asa:
fnc1 Object
(
[prop1] => Array
(
[0] => Array
(
[id] => 1,
[name] => Nume
)
....
)
[prop2] =>
)
//////////////////////
$conn = null;
}
catch($e){
...
}
}
}
$vartest = new getTest;
$vartest -> fnc1($conn);
$vartest -> prop1;
$demo = null;
foreach ($vartest as $item=>$val){
foreach ($val as $v){
$demo .= "<option value='".$v['id']."'>".$v['name']."</option>";
}
}
Cod: Selectaţi tot
Warning: Invalid argument supplied for foreach()
Daca in clasa getTest elimin proprietatea public $prop2; nu imi mai returneaza acel warning, insa am nevoie de acea proprietate pentru ca clasa va mai avea metode.
De ce imi apare acel warning si cum il pot elimina?
Multumesc!