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:
$termek = "akciosar_4";
$hatarolo = "_";

$oszlop = strtok( $termek, $hatarolo );
$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:

<?
while (list ($key, $val) = each ($_REQUEST)) {
   echo $key ."<br>";
}
?>
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:

foreach ($_REQUEST as $key => $value)
	{
	${$key} = $value;
	}
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:

foreach ($_REQUEST as $key => $value)
	{
	${$key} = $value;
	}
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:
<?
extract($_REQUEST,EXTR_OVERWRITE);
?>
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:
<?
@list($oszlop,$id)=explode('_',$termek);
?>
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!