2016-05-30 3 views
-1

Я создаю скрипт php для моего сайта. Я закончил код, но я боюсь, что мой код слишком длинный.PHP, как хранить слова предложения в строке без разрыва

Может ли мой код быть более простым и коротким?

<?php 
    include("admin/apps/site-settings.php"); // database connection 
    $albumq = mysql_query("select * from albums order by rand() limit 20"); 
    while($album = mysql_fetch_array($albumq)){ 
    $name_a = str_replace("&apos;s","",$album['name']); 
    $name_b = str_replace("&quot;","",$name_a); 
    $name_c = str_word_count($name_b, 1); 
?> 
<?php if(!empty($name_c[0])){?> 
    <a href="search-<?php echo $name_c[0];?>.html"> 
     <div class="tag"> 
      <?php echo $name_c[0];?> 
     </div> 
    </a> 
<?php }?> 
<?php if(!empty($name_c[1])){?> 
    <a href="search-<?php echo $name_c[1];?>.html"> 
     <div class="tag"> 
      <?php echo $name_c[1];?> 
     </div> 
    </a> 
<?php }?> 
<?php if(!empty($name_c[2])){?> 
    <a href="search-<?php echo $name_c[2];?>.html"> 
     <div class="tag"> 
      <?php echo $name_c[2];?> 
     </div> 
    </a> 
<?php }?> 
<?php if(!empty($name_c[3])){?> 
    <a href="search-<?php echo $name_c[3];?>.html"> 
     <div class="tag"> 
      <?php echo $name_c[3];?> 
     </div> 
    </a> 
<?php }?> 
<?php if(!empty($name_c[4])){?> 
    <a href="search-<?php echo $name_c[4];?>.html"> 
     <div class="tag"> 
      <?php echo $name_c[4];?> 
     </div> 
    </a> 
<?php }?> 
<?php if(!empty($name_c[5])){?> 
    <a href="search-<?php echo $name_c[5];?>.html"> 
     <div class="tag"> 
      <?php echo $name_c[5];?> 
     </div> 
    </a> 
<?php }?> 

Выход на сайте:

Output

Я бегу это на локальный, так что я не могу дать ссылку на данный момент.

+3

Узнайте, как использовать цикл Еогеасп: http://php.net/manual/en/control-structures.foreach.php –

+0

дайте мне знать, если мой ответ сработал для вас – Webeng

+0

Используйте для цикла для этого –

ответ

1
<?php 
include("admin/apps/site-settings.php"); // database connection 
$albumq = mysql_query("select * from albums order by rand() limit 20"); 
while($album = mysql_fetch_array($albumq)){ 
    $name_a = str_replace("&apos;s","",$album['name']); 
    $name_b = str_replace("&quot;","",$name_a); 
    $name_c = str_word_count($name_b, 1); 

    foreach ($name_c as $value) 
    { 
     if (!empty($value)) 
     { 
      echo " 
      <a href='search-{$value}.html'> 
       <div class='tag'> 
        {$value} 
       </div> 
      </a>"; 
     } 
    } 
} 
?> 
+0

Это сработало отлично, и это очень просто. Я должен научиться использовать foreach. –

+0

@PraneethMadushan не проблема :). Если бы мой ответ сработал для вас, примите его (с зеленой галочкой), чтобы будущие пользователи/читатели знали, что это сработало для вас. – Webeng

-1

Использование Еогеасп петля для таких же, как использовать

if(count($name_c) > 0) 
{ 
    foreach($name_c as $name) 
    { 
     ?> 
     <a href="search-<?php echo $name; ?>.html"> 
      <div class="tag"> 
       <?php echo $name; ?> 
      </div> 
     </a> 
     <?php 
    } 
} 
+0

Я не DV, но ответ в верхней части чист. –

 Смежные вопросы

  • Нет связанных вопросов^_^