Evaluare variabila din obiect cu index in for()
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
andras
- Mesaje:430
Evaluare variabila din obiect cu index in for()
Salut,
Dupa ce instantiez o clasa obtin variabilele publice definite in clasa (exemplu);
Cod: Selectaţi tot
<?php
$obj->v1 //in clasa am public $v1 = 'x';
$obj->v2 //in clasa am public $v2 = 'y';
?>
dar vreau sa le obtin dintr-o bucla, cam asa:
Cod: Selectaţi tot
<?php
for ($i==1; $i<=$obj->vcimpuri; $i++){
$v= '$obj->v'.$i;
echo $v; // afiseaza $obj->v1. Cum obtin efectiv valoarea variabilei?
}
?>
Cum obtin in bucla valoarea efectiva a variabile $v? Adica la echo $v sa afiseze x apoi y. Functia eval() nu functioneaza in acest caz.
andras
Mesaje:430
Am gasit raspunsul:
Cod: Selectaţi tot
<?php
for ($i==1; $i<=$obj->vcimpuri; $i++){
$v= 'v'.$i;
echo $obj->$v; // afiseaza x apoi y
}
?>
MarPlo
Mesaje:4343
Salut
O alta metoda e sa folosesti acoladele {}, ca in acest exemplu:
Cod: Selectaţi tot
for($i=1; $i<=$obj->vcimpuri; $i++){
echo $obj->{'v'. $i};
}
Sau, in loc de $v1, $v2; poti face $v un array; e mai simplu si usor in astfel de situatii.
Cod: Selectaţi tot
$obj->v =['x', 'y'];
$obj->vcimpuri = count($obj->v);
for($i=0; $i<$obj->vcimpuri; $i++){
echo $obj->v[$i]; // afiseaza x apoi y
}
andras
Mesaje:430
Am facut cum ai spus (array in clasa) si acum e mult mai bine.
Subiecte similare
- Eroare de variabila in php 8
PHP - MySQL - XML
Primul mesaj
Salut
Am trecut la php 8 si imi da eroarea asta
Warning: Undefined variable $page in G:\site\htdocs\system\site\page.php on line 16
in...
Ultimul mesaj
Imi mai da eroarea asta
Warning: Undefined array key message
iar eu am asa
$message=$_POST ;
Edit,
rezolvat cu
$message='';
if (isset($_POST...