• ベストアンサー

smartyで配列の中の同数値の数をカウントする

開発初心者です。 作業していてわからない点が出てきましたのでご質問させて頂きます。 たとえば$aaaが配列だとして、中に「5,5,10,20」という値が入っていたとします。 「5」が2つ、という事をカウントしたいのですが、smarty上で 出来るものなのでしょうか。 どなたかお手すきでしたら、ご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

普通にphpですよね? forでまわして確認すればいいのでは? $count = array(); for ($i=0; $i<count($aaa); $i++) {  for ($j=0; $j<count($aaa); $j++) {   if ($aaa[$i] == $aaa[$j])    $count[$i]++;  } }

animack
質問者

お礼

コメントありがとうございます。 なるほど・・・forで回すと$countの配列の中は 「2,2,1,1」というようになるんですかね・・・? (複数ある値は「2」・1つしかない値は「1」?) これを使って、$aaaの中の値「5」が「2」個というように 「2」の数値を取り出したい時はどのようにするのでしょうか・・・。 rowspanの値に使用したくて色々と試行錯誤しているのですが なかなか上手くいきません・・・。 if($size > 1) { $rowSize = $size; } else { $rowSize = 1; } のように分岐させて使用したいのですが・・・。

関連するQ&A