webForumDet fria alternativet
Logga in / Bli medlem

visa variabelnamn?

PHP

10 svar · 286 visningar · startad av greymane

Medlem sedan juli 2001711 inlägg
Trådstart#1

om jag har en array, $foo[], innehållandes $foo["bar1"] och $foo["bar2"]. hur gör jag då för att skriva ut bar1 och bar2 till skärmen?

Medlem sedan dec. 2002789 inlägg
#2

Så här kanske:

foreach ($foo as $item => $value){
    echo $item." :: ".$value."<br/>";
}
Medlem sedan juli 2001711 inlägg
#3

jag vill "få bort" $row[] och bara behöva skriva $bar1 för att få tag på värdet. såhär har jag gjort (funkar inge vidare):

$sql="SELECT id FROM restaurang, verksamhet WHERE verksamhet_id=restaurang.id";
$result=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($result)) {
   echo $row["id"];
}

foreach ($row as $item => $value){
 		${"$item"} = $value;
}
echo $id;

förstår du hur jag menar?

Medlem sedan maj 2001178 inlägg
#4

hmm får man fråga varför du vill gör så?:o

Medlem sedan juli 2001711 inlägg
#5

för att jag ska bara hämta en rad och värdena ska spridas ut över hela sidan. jag vill inte behöva göra hela sidan med "echo" :)

Medlem sedan dec. 2002789 inlägg
#6

Så här menar du?

foreach ($row as $item => $value){
${$item} = $value;
}
echo $id;
Medlem sedan juli 2001711 inlägg
#7

jo jag har provat det men det blir inget resultat. vad blir resultatet av

$row=mysql_fetch_array($result)

är det en lämplig array att arbeta med?

Medlem sedan maj 2001178 inlägg
#8

om du bara ska hämta en rad så får du ju arrayen färdig i $row[var]. om du lägger den överst kan du ju använda det överallt sen.

eller om du mena att du ville hämta bara ett fält men från många poster hade jag bara skapat en array och en räknare och lagt alla i arrayen,

$arr[$n] = $row[var];
$n++;

Medlem sedan juli 2001711 inlägg
#9

nu fick jag rätt på det! det funkar utmärkt, tackar! :)

Medlem sedan okt. 20023 030 inlägg
#10

Du kan echo:a (eka? :q) arrayer inbakade i stängar också. T.ex.

echo "$row['bar1'] = {$row['bar1']}<br />$row['bar2'] = {$row['bar2']}";

// Ger

$row['bar1'] = <innehållet i bar1>
$row['bar2'] = <innehållet i bar2>

Eller om du bara vill få så $bar1 = $row['bar1'], $bar2 = $row['bar2'], $foo = $row['foo']:

if (is_array($row)) {
    extract($row);
}
Medlem sedan juli 2001711 inlägg
#11
if (is_array($row)) {
    extract($row);
}

är ju grymt smidigt! :)

385 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
123 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)