簡體   English   中英

foreach + CodeIgniter中的Foreach

[英]Foreach in a foreach + CodeIgniter

我有一個圖像上傳功能,但是此圖像中需要4張圖像。 而我目前的功能只是簡單地覆蓋圖像而不管數量。 我想知道如何在我的foreach函數中插入(最好是一個字母)。

$uploads = array($this->uploads->data());
foreach ( $uploads as $key[] => $value )  
{
$imagename = $cleaned . '-s' . $value['file_ext']; //outputs clean-name-s.ext
}

到全部說完為止,需要4張圖像。 讓我留下clean-name-sa.ext,clean-name-sb.ext,clean-name-sc.ext和clean-name-sd.ext(數字也可以)。

該表單確實要求在提交之前填寫所有4個字段,因此我是否只需創建所需標識符的數組並創建一個輸出4個不同$ imagenames的foreach循環? 還是有一個更簡單,更合乎邏輯的方法。

您的問題有點含糊,因為您沒有提供有關如何設置HTML的指示。 如果您真的想要一個數組,可以這樣做:

$uploads = array($this->uploads->data());
foreach ($uploads as $key => $value) {
   foreach (Array('a', 'b', 'c', 'd') as $letter) {
      $imagename = $cleaned . '-s' . $letter . '.' . $value['file_ext']; //outputs clean-name-sX.ext
      // Do something with $imagename here
   }
}

另請注意,我將$key[]更改為$key

我對您的“已清理”部分有些迷惑。我不知道您是否未包含所有代碼或...?

至於覆蓋$ imagename的問題-在循環中,您不斷更改$ imagename的值...因此,您需要將其作為數組。

至於在名稱上添加字母..那很容易..只需以97開頭的'a',然后添加到它...只要您想在字母上使用chr()(還將$ imagname更改為數組)

// 97 is asci for 'a'
$currentChar = 97;  
$imagename = array();

$uploads = array($this->uploads->data()); 
foreach ( $uploads as $key => $value )   { 
    $imagename[] = $cleaned . '-s' . chr($currentChar) . $value['file_ext'];
     //outputs clean-name-s.ext 
     $currentChar++;
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM