对此不确定,希望你能帮我解决这个问题......
这是我的代码
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;
感谢您的帮助。欣赏它。
答案 0 :(得分: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;
答案 1 :(得分:0)
由于使用$ k作为索引循环遍历names数组,因此可以使用相同的索引访问匹配的url。因此,您可以将行更改为:
$v[$k]['url'] = $urls[$k];
没有必要使用$ cc变量跟踪索引,因为$ k已经表示names数组中的当前索引。您已经以相同的方式访问fIDs数组(使用$ k)。