Php 计算数组中相似项的数量,如果小于3,则返回值
我有一个数组,其中包含三个相似命名项的集合;然而,有时一组中只有两个项目,我想把它们叫出Php 计算数组中相似项的数量,如果小于3,则返回值,php,arrays,count,duplicates,Php,Arrays,Count,Duplicates,我有一个数组,其中包含三个相似命名项的集合;然而,有时一组中只有两个项目,我想把它们叫出 <?php $items = array( 'reviewpitfighter-1.138x88.jpg', 'reviewpitfighter-2.138x88.jpg', 'reviewpopfulmailsegacd-1.138x92.jpg', 'reviewpopfulmailsegacd-2.138x76.jpg', 'reviewpopfulmailsegacd-3.138x97.jpg
<?php
$items = array(
'reviewpitfighter-1.138x88.jpg',
'reviewpitfighter-2.138x88.jpg',
'reviewpopfulmailsegacd-1.138x92.jpg',
'reviewpopfulmailsegacd-2.138x76.jpg',
'reviewpopfulmailsegacd-3.138x97.jpg'
);
?>
您将注意到有两个reviewpitfigher*项和三个ReviewOpfulMailSegacd*项。我从一个兔子洞开始,觉得有一件简单的事情我只是在掩饰。也许你可以通过两个阶段来完成 第一阶段: 循环遍历原始数组并形成另一组数组,其键作为该原始数组的值。然后将重复计数保存在每个新数组中 第2阶段: 循环遍历新的数组集,然后选择值小于3的数组并检索其键
希望这有帮助 这是我想出的解决方案,很抱歉花了这么长时间才发布
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
包含我可以循环的列表