2015-07-21 64 views
0

我試圖循環訪問一個數組,並將「活動」類添加到第一次迭代中。循環遍歷一個數組並且目標第一次迭代

這是我到目前爲止嘗試過的,但無法讓它工作。

<?php foreach ($env_list as $key): ?> 

     <?php $isFirst = true; ?> 

     <li class="<?php $isFirst ? 'active' : ?>"> <a data-toggle="tab" href="#<?php echo $key['env_name'] ?>" id="<?php echo $key['id'] ?>"> <?php echo $key['env_name'] ?></a></li> 

     <?php $isFirst = false; ?> 

<?php endforeach ?> 

您的援助表示高度讚賞

回答

4

每次要設置$ isFirst = TRUE循環運行。將該行放在for循環之外,這樣它就不會被重置。

<?php $isFirst = true; ?> 
<?php foreach ($env_list as $key): ?> 
    <li class="<?php $isFirst ? 'active' : ?>"> <a data-toggle="tab" href="# <?php echo $key['env_name'] ?>" id="<?php echo $key['id'] ?>"> <?php echo $key['env_name'] ?></a></li> 

    <?php $isFirst = false; ?> 
1

如果它是一個數字索引的數組,你可以使用

foreach ($env_list as $i=>$key),並檢查是否$i==0

否則,將您的setter移動到循環之外。 <?php $isFirst = true; ?>需要在循環之前,否則每次都會被設置。

1

在這段代碼中,你基本上是在每次迭代時修改該布爾值(將其設置爲true,然後將其設置回false)兩次。假設您沒有明確定義相關數組的鍵,請嘗試使用此方法;

<?php foreach ($env_list as $envKey => $envValue): ?> 
     <li class="<?php $envKey == 0 ? 'active' : ?>"> <a data-toggle="tab" href="#<?php echo $envValue['env_name'] ?>" id="<?php echo $envValue['id'] ?>"> <?php echo $envValue['env_name'] ?></a></li> 
<?php endforeach ?> 

這將檢查以確保您正在處理第一次迭代並相應地進行修改。

我相信這會有所幫助。