php数组关键字计数器

时间:2012-09-21 22:42:36

标签: php arrays counter

我正在将图像文件信息推送到数组中。 这很简单,除了关键字有时也是一个数组。 这对我现在正在做的事情非常有用。 这是我的数组的样本

$list[]=array(filename=>$file,width=>$w,height=>$h,caption=>$iptc["2#120"],keywords=>$iptc["2#025"]);

我可以使用此数组输出javascript幻灯片显示所需的html。

if($handle = opendir($dirname)) { 
  while(false !== ($file = readdir($handle))){ 
    if(eregi($pattern, $file)){ 
      //if this file is a valid image 
      $path = $dirname . "" . $file ; 
      $path2 = $dirname ."JPEG/" . $file ; 
      $size = getimagesize($path, $info); 
      $w = $size[0]; $h = $size[1]; 
      $iptc = iptcparse($info['APP13']); 

      if(in_array($key,$iptc["2#025"])){
        $list[]=array(
          filename=>$file,
          width=>$w,
          height=>$h,
          caption=>$iptc["2#120"],
          keyw‌​ords=>$iptc["2#025"]
        ); 
      } 
    } 
  } 
  closedir($handle); }

我希望能够在数组中添加另一个变量,该变量会在添加每个唯一关键字时计算一个数字。这将允许我直接进入幻灯片放映的中间,因为我使用js幻灯片的js插件只有直接链接,如果用数字引用

我想我需要创建一个包含所有关键字的唯一数组,然后为每个唯一变量计算一些复杂的if语句......

但是我不知道如何做到这一点

请帮助

感谢

杰里米

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你在寻找什么,但听起来像是:

while(loop_conditions){
    $list[]=array(filename=>$file,width=>$w,height=>$h,caption=>$iptc["2#120"],keywords=>$iptc["2#025"]);
    foreach($iptc["2#025"] as $keyword){
        $list_map[$keyword]++;
    }
}