webForumDet fria alternativet

visa variabelnamn?

10 svar · 284 visningar · startad av greymane

greymaneMedlem sedan juli 2001711 inlägg
#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?

DarrenMedlem sedan dec. 2002789 inlägg
#2

Så här kanske:

foreach ($foo as $item => $value){
    echo $item." :: ".$value."<br/>";
}
greymaneMedlem 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?

MaRseYMedlem sedan maj 2001178 inlägg
#4

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

greymaneMedlem 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" :)

DarrenMedlem sedan dec. 2002789 inlägg
#6

Så här menar du?

foreach ($row as $item => $value){
${$item} = $value;
}
echo $id;
greymaneMedlem 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?

MaRseYMedlem 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++;

greymaneMedlem sedan juli 2001711 inlägg
#9

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

Nexus86Medlem 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);
}
greymaneMedlem sedan juli 2001711 inlägg
#11
if (is_array($row)) {
    extract($row);
}

är ju grymt smidigt! :)

252 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
124 ms — hämta forumlista (db)
122 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)