我有一个包含三个相似命名项的集合的数组;但是,有时一组中只有两个项目,我想把它们称之为。
<?php
$items = array(
'reviewpitfighter-1.138x88.jpg',
'reviewpitfighter-2.138x88.jpg',
'reviewpopfulmailsegacd-1.138x92.jpg',
'reviewpopfulmailsegacd-2.138x76.jpg',
'reviewpopfulmailsegacd-3.138x97.jpg'
);
?>
你会注意到有两个reviewpitfigher *项目和三个reviewpopfulmailsegacd *项目。我已经开始了一个兔子洞的循环,并觉得有一些简单的我只是在掩饰。
答案 0 :(得分:1)
可能你可以做两个阶段的过程。
第1阶段:
循环遍历原始数组并形成另一组数组,其键作为此原始数组的值。然后在每个新阵列中保存重复次数。
第二阶段:
循环遍历新的数组,然后选出值小于3的数组并检索其键。
希望这会有所帮助!!
答案 1 :(得分:0)
这是我提出的解决方案,抱歉发布这么长时间。
foreach($images as $value){
$lastItem = explode('-', $images[$count - 1]);
$parts = explode('-', $value);
if(preg_match('/^1/', $parts[1]) && $count != 0){
if(preg_match('/^2/',$lastItem[1])){
$imgurl = preg_replace('/^p?review/','',$lastItem[0]);
$sql = 'SELECT field FROM table WHERE field = "' . $imgurl . '"';
$result = $dbConn->FetchArray($dbConn->Query($sql), MYSQL_ASSOC);
$array[$imgurl] = $result;
}
}
$count++;
}
我得到了所有图像的数组,然后检查我是否正在查看第一张图像,如果我那么我看到我看到的最后一张图像是否是第二张图像。此时,我然后调用数据库获取一些信息,以显示一条整齐的消息,显示哪些评论缺少第三张图像。最后$array
包含我可以循环的列表。