0

これについてよくわからないので、これについて私を助けてくれることを望んでいました...

これが私のコードです

Loader::library('file/types');
    $ih = Loader::helper('image');
    $names = explode("||",$this->tName);
    $urls = explode("||",$this->tUrl);
    $fIDs = explode("||",$this->fID);

    Loader::model('file');
    $i = Loader::helper('image');

    $v = array();
    $cc = 0;

    foreach ($names as $k=>$n){
      if (intval($fIDs[$k]) > 0 ) :
        $img = $test = File::getByID($fIDs[$k]);
        $fv = $img->getExtension();
        $ft = FileTypeList::getType($fv);
        $img = $ft->type == 1 ?  $img : false;  
      else :
        $img = false;
      endif;
    $v[$cc]['name']         = $n;
    $v[$cc]['url']          = $urls;
    $v[$cc]['src']          = $img ? $ih->getThumbnail($img,100,100)->src : false;
    $cc ++;
    }
    return $v;

そして、私が問題を抱えているのは、このコード内の $urls から配列値を取得することです。(最後から5番目)

foreach ($names as $k=>$n){
      if (intval($fIDs[$k]) > 0 ) :
        $img = $test = File::getByID($fIDs[$k]);
        $fv = $img->getExtension();
        $ft = FileTypeList::getType($fv);
        $img = $ft->type == 1 ?  $img : false;  
      else :
        $img = false;
      endif;
    $v[$cc]['name']         = $n;
    $v[$cc]['url']          = $urls;
    $v[$cc]['src']          = $img ? $ih->getThumbnail($img,100,100)->src : false;
    $cc ++;
    }
    return $v;

ご助力いただきありがとうございます。感謝します。

4

2 に答える 2

0

次のようなことをしなければならないと思います:

$i = 0;

foreach ($names as $k=>$n){
  if (intval($fIDs[$k]) > 0 ) :
    $img = $test = File::getByID($fIDs[$k]);
    $fv = $img->getExtension();
    $ft = FileTypeList::getType($fv);
    $img = $ft->type == 1 ?  $img : false;  
  else :
    $img = false;
  endif;
$v[$cc]['name']         = $n;
$v[$cc]['url']          = $urls[$i]; //changed
$v[$cc]['src']          = $img ? $ih->getThumbnail($img,100,100)->src : false;
$cc ++;
$i++; //changed
}
return $v;
于 2013-05-21T09:37:16.207 に答える
0

$k をインデックスとして使用して名前配列をループしているため、同じインデックスで一致する URL にアクセスできます。したがって、行を次のように変更できます。

$v[$k]['url'] = $urls[$k];

$k はすでに名前配列の現在のインデックスを表しているため、$cc 変数を使用してインデックスを追跡する必要はありません。すでに同じ方法で ($k を使用して) fIDs 配列にアクセスしています。

于 2013-05-21T09:44:37.250 に答える