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 获取数组值。(倒数第五个)

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

由于您使用 $k 作为索引遍历 names 数组,因此您可以访问具有相同索引的匹配 url。因此,您可以将行更改为:

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

没有必要使用 $cc 变量来跟踪索引,因为 $k 已经代表了 names 数组中的当前索引。您已经以相同的方式访问 fIDs 数组(使用 $k)。

于 2013-05-21T09:44:37.250 回答
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 回答