ugrás a tartalomhoz

egy változó NEVÉT szeretném az strtok fgv-nyel szétválasztani

Anonymous · 2006. Nov. 5. (V), 01.36
sziasztok!

olyat hogy tudok csinálni, hogy ha megkap egy formból egy változót a kód, akkor a változó NEVÉT (hangsúlyozom nevét, és nem értékét) szétválasztani?

példa:
  1. $termek = "akciosar_4";  
  2. $hatarolo = "_";  
  3.   
  4. $oszlop = strtok$termek$hatarolo );  
  5. $id = strtok$hatarolo );  
print "az oszlop értéke: ".$oszlop;
print " az id értéke :".$id;

ez működik is. de az akciosar_4 az egy változó lesz, amit egy formból kap:
$termek = "$akciosar_4";

viszont ha igy írom be, akkor a változó ÉRTÉKÉT bontja szét az aláhúzás jelnél

megoldás?

ui: az akciosar utáni szám mindig növekszik egy bizonyos értékig, ugyhogy "simán" nem írhatom be.

előre is köszi
 
1

a nagy trükk

krey · 2006. Nov. 5. (V), 02.26
Ne használj register globals-t, mert azt nagyon nem szeretjük! A form változókat megkapod a $_REQUEST (és barátai)nevű tömbbe és ott már lehet ilyeneket varázsolni a kulcsokkal. Egy példa:
  1. <?  
  2. while (list ($key$val) = each ($_REQUEST)) {  
  3.    echo $key ."<br>";  
  4. }  
  5. ?>  
Megjegyzés: php 4.1.0 fölött az strtok-ot 2 paraméterrel kell használni. A példádhoz pedig tökfelesleges, használj inkább explode-ot.

üdv. krey
5

explode fajinabb ja:)

Anonymous · 2006. Nov. 5. (V), 14.00
nem használok reg globalst, nyugi:)

én igy oldottam meg:
  1. foreach ($_REQUEST as $key => $value)  
  2.     {  
  3.     ${$key} = $value;  
  4.     }  
lényeg: átírom explode-ra, az jobban tetszik, köszi az ötletet, de ezzel még nem oldottuk meg a problémát.
6

explode fajinabb ja:)

Anonymous · 2006. Nov. 5. (V), 14.03
nem használok reg globalst, nyugi:)

én igy oldottam meg:
  1. foreach ($_REQUEST as $key => $value)  
  2.     {  
  3.     ${$key} = $value;  
  4.     }  
lényeg: átírom explode-ra, az jobban tetszik, köszi az ötletet, de ezzel még nem oldottuk meg a problémát.
8

foreach helyett

Anonymous · 2006. Nov. 5. (V), 22.14
Ezt a foreach-et egy sorral kiválthatod:
  1. <?  
  2. extract($_REQUEST,EXTR_OVERWRITE);  
  3. ?>  
Gyulus
2

Nem igazán tudtam értelmezni :SS

Anonymous · 2006. Nov. 5. (V), 02.27
Lehet hogy nem az amire te gondoltál, de ahogy én kivettem a szövegből,...
hát na mindegy ha nem az akkor mindegy

<?php
$termek = "akciosar_4";
$hatarolo = "_";
$oszlop = strtok( $termek, $hatarolo );
$id = strtok( $hatarolo );
while (is_string($oszlop))
{
if ($oszlop)
print "$oszlop $id<br />";
$oszlop = strtok($hatarolo);
}
?>
valahogy így képzeltem el. Bár ez nem változtat sokat a dolgon
3

Nem igazán tudtam értelmezni

Anonymous · 2006. Nov. 5. (V), 12.30
Én 10 év alatt még soha nem használtam ezt a strtok függvényt, de ha az "akciosar_4" sztringet akarnám kétfelé választani, ezt tenném:
  1. <?  
  2. @list($oszlop,$id)=explode('_',$termek);  
  3. ?>  
Gyulus
4

Remélem én jól értem,

Ak-Army · 2006. Nov. 5. (V), 13.17
és egy változó nevét szeretnéd több részre bontani, bár nem tom, hogy ezt mire lehet felhasználni, de!

$termek = '$akciosar_4'; <-- ebben a formában nem helyettesiti be az $akciosar_4 változó értékét, és szét tudod bontani.
7

igen!

Anonymous · 2006. Nov. 5. (V), 14.09
pontosan igy szerettem volna köszi szépen!