Jump to content
php.lv forumi

Bišķ ar masīvu elementiem nediena


artis

Recommended Posts

Kā lai iekš array rindas ievieto konstanti, kas beidzas ar kvadrātiekavām ?

 

Piem.:

<?
$variablji = array('objekts','attels[7]'); 

foreach($variablji as $a) { $$a = "0";} //visiem array elementiem piešķiru 0 vērtību.

echo $cena; // izvada "0"
echo "<br> --- <br>";
echo $attels[7]; // neizvada neko, bet arī vajag, lai būtu "0"
?>

Link to comment
Share on other sites

1) Tev tur nav nevienas konstantes. http://lv2.php.net/constants

2) Domāju, ka to, ko tu vēlies, nevar panākt. Ja nu vienīgi ar kaut kādu čerez žopu risinājumu.

 

Kaut kā šādi meibī, nepārbaudīju tikai:

foreach($variablji as $a) { eval('$'.$a.' = "0";');} //visiem array elementiem piešķiru 0 vērtību.

Edited by andrisp
Link to comment
Share on other sites

eval ir pats sliktākais, ko var izmantot, tas bieži vien liecina par coddera neproffessionalitāti, jo nav spējīgs izdomāt citu, daudz labāku risinājumu

 

 

man šķiet, ka šitā varētu strādāt

 

foreach($variablji as $a) 
{
  ${$a} = "0";
} //visiem array elementiem piešķiru 0 vērtību.

Link to comment
Share on other sites

4e4en, tas koda piemērs izdara precīzi to pašu, ko sākotnējais kods, respektīvi - neizdara to, ko autors grib.

 

PS. Par eval izmantošanu šādiem nolūkiem piekrītu. Tāpēc jau arī teicu, ka ar čž metodēm kaut ko var izdomāt. Man pat grūti iedomāties, kas tas par kodu, kur vajadzīga šāda lieta.

Edited by andrisp
Link to comment
Share on other sites

×
×
  • Create New...