2014-03-28 35 views
-7
<? $i = 0; 
      foreach($model->authors as $key => $author){ 
      ?> 
       <? 
       //if (++$i < count($model->authors)) echo $author->name.';'; else echo $author->name.' '; 
       if(++$i<count($model->authors)) 
       { 
        <a href="http://192.168.171.46:9090/search/index?keyword=<? echo $author->name; ?>"><? echo $author->name.';' ?></a>; 
       }else echo 
        <a href="http://192.168.171.46:9090/search/index?keyword=<? echo $author->name ?>"><? echo $author->name.' ' ?></a>; 



       ?> 
      <? } 
     ?> 

但它显示此行语法错误未知<后{我找不到此错误?<a href=…>语法错误意外的东西

+7

''千万不要使用简写的初学者,而你的其他人缺少左括号和其他许多语法错误。 –

回答

1

试试这个:

<?php 
$i=0; 
foreach($model->authors as $key=>$author) { 
    if(++$i<count($model->authors)) { 
     echo '<a href="http://192.168.171.46:9090/search/index?keyword='.$author->name.'">'.$author->name.';</a>'; 
    } else { 
     echo '<a href="http://192.168.171.46:9090/search/index?keyword='.$author->name.'">'.$author->name.' </a>'; 
    } 
} 

或者,如果你不介意的微小变化用这个,因为它是一个小简单:

<?php 
$ret=''; 
foreach($model->authors as $key=>$author) 
    $ret.=($ret?'; ':'').'<a href="http://192.168.171.46:9090/search/index?keyword='.$author->name.'">'.$author->name.'</a>'; 
echo $ret; 
1

假设你的编码PHP,像这样做:

<?php 
$i = 0; 
foreach($model->authors as $key => $author){ 
    if(++$i<count($model->authors)) { 
     echo "<a href='http://192.168.171.46:9090/search/index?keyword=" . $author->name . "'>" . $author->name . "</a>"; 
    } else { 
     echo "<a href='http://192.168.171.46:9090/search/index?keyword=" . $author->name . "'>" . $author->name . "</a>"; 
    } 
} 
?> 
0
<?php 
$i = 0; 
foreach($model->authors as $key => $author){ 
    if(++$i<count($model->authors)){ 
     ?> 
     <a href="http://192.168.171.46:9090/search/index?keyword=<?php echo $author->name; ?>"><?php echo $author->name.' '; ?></a>; 
     <?php 
    } 
    else{ 
     ?> 
     <a href="http://192.168.171.46:9090/search/index?keyword=<?php echo $author->name; ?>"><?php echo $author->name.' '; ?></a> 
     <?php 
    } 
} 
?> 

我见你对语法很困惑 - 也许你应该考虑使用编辑器来检查语法,至少在开始时?

0
<? 
    $i = 0; 
    foreach ($model->authors as $key => $author): 
     if (++$i < count($model->authors)): ?> 
      <a href="http://192.168.171.46:9090/search/index?keyword=<?= $author->name ?>"><?= $author->name ?>;</a> 
     <? else: ?> 
      <a href="http://192.168.171.46:9090/search/index?keyword=<?= $author->name ?>"><?= $author->name ?> </a> 
     <? endif; 
    endforeach; 
?> 

或者更短的版本。

<? 
    $i = 0; 
    foreach ($model->authors as $key => $author): ?> 
      <a href="http://192.168.171.46:9090/search/index?keyword=<?= $author->name ?>"><?= $author->name,++$i < count($model->authors) ? ';' : ' ' ?></a> 
     <? 
    endforeach; 
?> 
相关问题