Siispä miten ratkaista ongelma, jossa echon sisälle pitäisi saada for-silmukka ja toinen echo? Mahdollistahan se ei ole mutta olisiko jotain, millä tuon voisi muuten echottaa.
Koodi menee jotakuinkin näin;
echo "<p><select name=\"poista\"> for($i = 0; $i < Funktio($...); $i++){ echo <option value=\"$i\">Funktio($...,$i)</option>;}</select></p>";
Ja tämä koodi normaalin echon sisällä. (Mod. lisäsi sen ”normaalin echon” selvyyden vuoksi.)
Olisi helpompaa ymmärtää oikeaa koodia tai esimerkkiä siitä, mitä haluat tulostaa. "Jotakuinkin PHP:tä" muistuttava sotku ei ilahduta.
Monta option-elementtiä voi tulostaa silmukalla. Monta select-elementtiä, joissa jokaisessa on monta optionia, voi tulostaa kahdella sisäkkäisellä silmukalla.
Thalassa kirjoitti:
Ja tämä koodi normaalin echon sisällä.
On hyvä huomata, että ei kaikkea minkä tulostaa, tarvitse "echottaa". Html-elementit näkyvät ellet piilota niitä Css-tyylillä tai kätke php-muuttujaan.
Jos tarvitset php-muuttujaan lisää tarinoita, se onnistuu lisäämällä muuttujaan tietoa for-silmukassa.
$who = "<select>"; for ($j = 0; $j < 10; $j++) { $who .= "<option value=\"$j\">$j</option>"; } $who .="</select>"; echo $who;
Vaihtoehto 2, johon tuossa viittasin
Ei tuo liity mitenkään asiaan. On yhtä mahdotonta lyödä silmukka tulostuskutsun sisälle kuin sijoitusoperaation keskellekin. Pitää vain ensin ymmärtää, mitä on tarkoitus tehdä, ja sitten tehdä se kielen sääntöjä kunnioittaen. Ei pidä lähteä keksimään omia tapojaan tehdä asioita, koska ne ovat yleensä hirvittävän väärin, jos sattuvat edes olemaan mahdollisia.
Jos mainitsemassasi silmukassa pitää hakea hiukan monikutkaisemmin tietoa, voit tehdä se erillisessä funktiossa. Tässä yksinkertaistettu esimerkki:
Aihe on jo aika vanha, joten et voi enää vastata siihen.