Trådstart#1 Jag har följande array med info till en meny.
Nu är det så att jag skulle vilja loopa igenom den och för varje array skriva
så här, exempel:
<a href="index.php?menu_var=st&main_var=start">Start</a>
<br /><a href="index.php?menu_var=st&main_var=contact">Contact</a>
och så vidare. Hur loopar jag igenom arrayen?
<?php
/**
*
* @version $Id$
* @copyright 2003
*/
// BEGIN MENU_TEXT DEFINTION
// START
$menu_text['st-start'] = 'Start';
$menu_text['st-contact'] = 'Contact';
$menu_text['st-how'] = 'How it works';
$menu_text['st-faq'] = 'FAQ';
// JOIN
$menu_text['jo-joinform'] = 'Join us!';
$menu_text['jo-agreement'] = 'Terms & Conditions';
$menu_text['jo-privacy'] = 'Privacy policy';
$menu_text['jo-antispam'] = 'Anti-spam policy';
// MEMBERS
$menu_text['me-loginform'] = 'Login';
$menu_text['me-logout'] = 'Logout';
$menu_text['me-stats'] = 'Statistics';
$menu_text['me-news'] = 'News';
$menu_text['me-download'] = 'Download Surfbar';
$menu_text['me-updateform'] = 'Update profile';
$menu_text['me-forgotuserinfoform'] = 'Lost password?';
$menu_text['me-referralcenter'] = 'Referral-tips';
$menu_text['me-help'] = 'Help';
$menu_text['me-banners'] = 'Banners';
$menu_text['me-history'] = 'History';
$menu_text['me-deals'] = 'Special deals';
$menu_text['me-deleteform'] = 'Cancel account';
// ADVERTISING
$menu_text['ad-info'] = 'Info';
$menu_text['ad-loginform'] = 'Login';
$menu_text['ad-stats'] = 'Statistics';
$menu_text['ad-updateform'] = 'Update campaign';
$menu_text['ad-buyadvertising'] = 'Buy advertising';
$menu_text['ad-benefits'] = 'Benefits';
$menu_text['ad-pricing'] = 'Pricing';
$menu_text['ad-buybanners_agreement'] = 'Advertising agreement';
?>
Tacksam för svar!
MmonAmourMedlem sedan dec. 2002258 inlägg Du borde nog dela upp arrayerna i två stycken..
$array1[0] = "linkvalue"; och $array2[0] = "linktextvalue";
Då kand u enkelt loopa så här:
if (count($array1)==count($array2)) {
$total = count($array1);
for ($i=0; $i<$total; $i++) {
echo("<a href=\"sida.php?str=". $array1[$i] ."\">". $array2[$i] ."</a>\n");
}
Hajjar du?
Jo, tack. Men går det inte att använda motsvarigheten till ASPs Split() i PHP?
MmonAmourMedlem sedan dec. 2002258 inlägg Jo det fungerar, men då måste du ha värdena i samma variabel.
Du har ju bara ett värde nu och ett array index.
Så här kan vara en variant:
$menu_text[0][0]="me-loginform";
$menu_text[0][1]="Login";
$menu_text[1][0]="st-start";
$menu_text[1][1]="Start";
Sen kan du loopa igenom...
Här kan du ju också använda en assosiativ array om du skulle vilja.
..Och hur loopar man igenom en sådan array? Jag är ganska dålig på PHP, kan bara några få grunder. 
MmonAmourMedlem sedan dec. 2002258 inlägg $menu_text[0][0]="me-loginform"; $menu_text[0][1]="Login";
$menu_text[1][0]="st-start"; $menu_text[1][1]="Start";
if (is_array($menu_text)) {
if (count($menu_text)!=0) {
$arrTotal = count($menu_text);
for ($i=0; $i<$arrTotal; $i++) {
echo(<a href=\"sida.php?str=". $menu_text[$i][0] ."\">". $menu_text[$i][1] ."</a>\n");
}
} else {
echo("Inga menyobjekt!\n");
}
echo("Objektet är ingen array!\n");
}
Borde fungera!
MatteMedlem sedan aug. 20002 975 inläggAnnars om man återgår till den ursprungliga arrayen så borde det gå att skriva så här:
$menu_text['st-start'] = 'Start';
.
.
.
$menu_text['ad-buybanners_agreement'] = 'Advertising agreement';
foreach($menu_text as $key => $val) {
$menu_var = substr($key, 0, 2);
$main_var = substr($key, 3);
echo "<a href=\"index.php?menu_var=$menu_var&main_var=$main_var\">$val</a><br>\n";
}
Tackar tackar, ska testa sedan. Tack!