2010-09-23 25 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> 

    '; 
相关问题