2010-09-23 32 views
0

如何將唯一靜態字符串分配給for循環中的變量?我試圖給縮略圖列表分配一個唯一的描述和ALT標籤。我設法得到循環來產生縮略圖,但我不知道如何根據值的條件爲每個值分配唯一的值。這是for循環:如何爲for循環中生成的每個項目分配唯一的靜態字符串?

<?php 


    for ($project=1; $project<=40; $project++ ) {       

     echo " 

      <a href=\"#\" class=\"thumb\"> 
      <img src=\"images/thumbs/$project.jpg\" width=\"300\" height=\"140\" alt=\"$projectname\" title=\"$projectname\" /> 
      <span class=\"client\">$projectname</span><span class=\"description\">$type</span> 
      </a> 

     "; 
    } 


?> 

我以前試過這種for循環,但沒有工作...

if ($project = 1) { 
      $projectname = "client1"; 
      $type = "Interactive Brochure Design"; 
    } 

    else if ($project = 2) { 
      $projectname = "client2"; 
      $type = "Site Design"; 
    } 
+1

這些項目名稱和類型從何而來?他們是在一個數據庫中,在一個數組中,在什麼地方? – Wrikken 2010-09-23 13:35:16

+1

'$ project = 1'會分配1到$項目。 '$ project == 1'將檢查變量$ project是否包含值1. – Sjoerd 2010-09-23 13:38:44

+0

這在當前狀態中沒有任何意義。正如@Wrikken所說,$ projectname和$ type來自哪裏,現在你有一個遍歷數字1到40的循環。'$ projectname'和'$ type'不存在哪個值。 – 2010-09-23 13:44:41

回答

1
if ($project == 1) { 
     $projectname = "client1"; 
     $type = "Interactive Brochure Design"; 
} 

else if ($project == 2) { 
     $projectname = "client2"; 
     $type = "Site Design"; 
} 

=設置一個變量,犯規比較。 ==比較

當然也有可能是你的項目更優雅的方式......

0

這正是數組那裏。喜歡的東西:

$projects = array(
    array('name' => 'client1', 'type' => 'Interactive Brochure Design'), 
    array('name' => 'client2', 'type' => 'Site Design'), 
); 

for ($n=0; $n<count($projects);) { 

    $projectname = $projects[$n]['name']; 
    $type = $projects[$n]['type']; 
    $project = ++$n; 

    echo " 

     <a href=\"#\" class=\"thumb\"> 
     <img src=\"images/thumbs/$project.jpg\" width=\"300\" height=\"140\" alt=\"$projectname\" title=\"$projectname\" /> 
     <span class=\"client\">$projectname</span><span class=\"description\">$type</span> 
     </a> 
    "; 
} 

或者你也可以使用foreach

foreach ($projects as $project) { 
    echo '<div>name: ' . $project['name'] . '</div> 
      <div>type: ' . $project['type'] . '</div>'; 
} 

看到它在codepad

1

您通常會在一個陣列中的每個項目存儲開始,這樣你就可以很容易地遍歷他們。存儲在數組中的值可以是某個「項目」類的對象,也可以是關聯數組,如下所示:

$projects = array(
    array(
     'name' => 'client1', 
     'type' => 'Interactive Brochure Design', 
     'filename' => 'client1.jpg', 
    ), 
    array(
     'name' => 'client2', 
     'type' => 'Site Design', 
     'filename' => 'client2.jpg', 
    ), 
); 

foreach($projects as $project) 
    echo ' 

     <a href="#" class="thumb"> 
     <img src="images/thumbs/'.$project['filename'].'" width="300" height="140" alt="'.$project['name'].'" title="'.$project['name'].'" /> 
     <span class="client">'.$project['name'].'</span><span class="description">'.$project['type'].'</span> 
     </a> 

    '; 
相關問題