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?
visa variabelnamn?
10 svar · 284 visningar · startad av greymane
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?
hmm får man fråga varför du vill gör så?:o
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" :)
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?
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++;
nu fick jag rätt på det! det funkar utmärkt, tackar! :)
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);
}