Foreach в foreach + CodeIgniter - PullRequest
       9

Foreach в foreach + CodeIgniter

0 голосов
/ 03 января 2011

У меня работает функция загрузки изображений, но для этого изображения требуется 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 поля были заполнены перед отправкой, поэтому я бы просто создал массив желаемых идентификаторов и создал цикл foreach, который выводил бы 4 разных $ imagenames? Или есть более простой, более логичный подход к этому.

Ответы [ 2 ]

0 голосов
/ 03 января 2011

Я немного заблудился в вашем "очищенном" разделе ... Я не знаю, включили ли вы весь код или ...?

Что касается перезаписи $ imagename - в вашем цикле вы продолжаете изменять значение $ imagename ... Так что вам нужно, чтобы это был массив ..

Что касается добавления букв вимена ... это легко ... просто начните с 97 для "а", а затем добавьте к нему ... везде, где вы хотите букву, используйте 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++;
} 
0 голосов
/ 03 января 2011

Ваш вопрос немного расплывчат, поскольку вы не указали, как настроен 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...