2015-11-26 37 views
-1

起初對不起,如果我的英語sux。 那麼我需要你的幫助。PHP - 如果裏面的foreach

我 「解析錯誤:語法錯誤,意想不到的 '如果'(T_IF)」 用下面的代碼:

<?php 

$ssimple=''; 
$smultiUno=''; 
$smultiDos=''; 

$deportes = array("Nadar","Fitness","Baloncesto"); 
$cine = array("StarWars","El se&ntilde;or de los Anillos","Matrix","Pulp Fiction"); 
$musica = array("Rock","Metal","Goth"); 

foreach ($deportes as $value) { 
$ssimple.= "<option value=\"$value\" ".if(isset($deportes) and $deportes == $value) echo 'selected="selected"'.">$value</option>"; 
} 

foreach ($cine as $value) { 
$smultiUno.= "<option value=\"$value\"".if(isset($cine) and $cine == $value) echo 'selected="selected"'.">$value</option>"; 
} 

foreach ($musica as $value) { 
$smultiDos.= "<option value=\"$value\"".if(isset($musica) and $musica == $value) echo 'selected="selected"'.">$value</option>"; 
} 
?> 

它如何工作的?

謝謝大家! :)

編輯:

終於得到了答案:

<?php 
$dep=''; 
$cin=''; 
$mus=''; 
$sdeportes = array("Natacion", 
       "Fitness", 
       "Baloncesto", 
       "Tenis", 
       "Patinaje Artistico"); 
$scine = array("StarWars", 
      "Matrix", 
      "Indiana Jones", 
      "Pulp Fiction", 
      "El Hobbit"); 
$smusica = array("Rock", 
       "Metal", 
       "Goth", 
       "Chill Step", 
       "Alternativa"); 
foreach ($sdeportes as $value) { 
    if(isset($deportes) and $value == $deportes){ 
     $a = "selected=\"selected\""; 
    }else{ 
     $a = ''; 
    } 
    $dep .= "<option value =\"$value\" $a>$value</option>"; 
} 
foreach ($scine as $value) { 
    if(isset($cine) and in_array($value, $cine)){ 
     $a="selected=\"selected\""; 
    }else{ 
     $a=''; 
    } 
    $cin .= "<option value =\"$value\" $a>$value</option>"; 
} 
foreach ($smusica as $value) { 
    if(isset($musica) and in_array($value, $musica)){ 
     $a = "selected=\"selected\""; 
    }else{ 
     $a=''; 
    } 
    $mus .= "<option value =\"$value\" $a>$value</option> "; 
} 
?> 

感謝大家的傢伙。 可以關閉這個話題:)

+0

if語句中的字符串,並在不使用回聲請不要寫變量,只是使其字符串。 –

+0

繼承人是你的起點,https://eval.in/476073。 – chris85

+0

然後呢?我如何選擇用戶在我的表單中選擇的選項? 謝謝Chris85;) – i7ach1

回答

0

嘗試是這樣的:

foreach ($deportes as $value) { 
    $selected = (isset($deportes) and $deportes == $value) ? 'selected="selected"' : '' ; 
    $simple .= '<option value="'.$value.'"'.$selected.'>'.$value.'</option>'; 
} 

請忽略字符串中的使用情況

+0

爲什麼要忽略字符串中的條件?你能解釋一下嗎 –

+0

它不起作用,不過謝謝你:) – i7ach1