配列のカウント方法と件数取得

このQ&Aのポイント
  • 配列のカウント方法と件数取得について質問です。
  • 配列の中から特定の条件に合うデータの件数を取得する方法を知りたいです。
  • 該当するデータの件数を求める方法について教えてください。
回答を見る
  • ベストアンサー

配列のカウント

こんにちは 初歩的な質問だとは思うのですが…教えて下さい 【 1.以下のような配列を作る 】 $array = array( "1-aaa", "2-aaa", "2-bbb", "2-ccc" ); 【 2.本日の日付を取得 】 $today = date("d",time()); 【 3. arrayの件数分forで回す 】 for ($i = 0; $i < count($array); $i++) { 【 4.explodeで分解 】 $items = explode("*",$array[$i]); 【 5.日付と配列[0]が一致した時に項目表示 】 if($today == $items[0]){ print $items[1]; } という処理を行った時に if($today == $items[0]) に該当するデータ件数というのは 求めることが出来ないものなのでしょうか (今日が2日として、この場合は「3」が欲しい) 前からこういう状況下で該当する件数を求めたい時があっても どうしたらよいのかわからなくて諦めていたのです 絶対ムリなら諦めるので、出来るのかどうか教えて頂けますか?? もし可能であれば、求め方のヒントも頂けると助かります よろしくお願い致します!!

  • PHP
  • 回答数1
  • ありがとう数1

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

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

【 2.本日の日付を取得 】 $today = date("d",time()); 【 2.5 カウンタの初期化 】 $cnt=0; 【 3. arrayの件数分forで回す 】 for ($i = 0; $i < count($array); $i++) { 【 4.explodeで分解 】 $items = explode("*",$array[$i]); 【 5.日付と配列[0]が一致した時に項目表示 】 if($today == $items[0]){ 【 5.5 カウントアップ 】 $cnt++; print $items[1]; } 【 6. カウンタの表示 】 print $cnt; では、どうでしょうか?

koke29
質問者

お礼

show5-love様、回答ありがとうございます! 今確認できる環境じゃないので、明日やってみます!! 見た感じ、上手くいく予感です 私の例示に合わせて説明も入れて下さって、とてもわかりやすいです こういうカウンターの設定を考えてみても どこで初期値を置いて、どこで++とか全然浮かばなくて… とっても助かりました♪ かなり色々流用すると思うので、今回の回答でしっかり覚えます

関連するQ&A

  • 2つの配列を比較し、一致しないのを得たいのですが

    連想配列 $foo = array( "aaa" => "111", "bbb" => "222", "ccc" => "333" ); と 一般配列 $bar = array( 0 => "aaa", 1 => "bbb" ); がある場合に、$iを数字として、 $fooのkey部と$bar[$i]の値が一致したら(つまり、例えばaaa)、 $fooの中のその部分は除去するような事がやりたいのですがどのようにすればいいのでしょうか? 色々試してみましたが、自分には全く出来ませんでした。 除去ではなく、新しい配列に $hoge = array( "ccc" => "333" ) のような形で入れ込むのでもいいのですが、とくかく$hogeのような配列を手に入れたいと考えております。 アドバイス頂けないでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 配列の要素の組み合わせ

    下記のような前提となる配列と、その配列を使った子要素の組み合わせを得られるファンクションを作成しようとしているのですが、なかなかうまく思いつきません。 どのようにしたら可能になりますでしょうか? 【前提】==================== $arr_lst = array( array( 'aaa', 'bbb', ), array( 'AAA', 'BBB', ), array( '111', '222', ), ); 【期待する結果】==================== 'aaa' 'bbb' 'AAA' 'BBB' '111' '222' 'aaa'-'AAA' 'aaa'-'BBB' 'aaa'-'111' 'aaa'-'222' 'bbb'-'AAA' 'bbb'-'BBB' 'bbb'-'111' 'bbb'-'222' 'AAA'-'111' 'AAA'-'222' 'BBB'-'111' 'BBB'-'222' 'aaa'-'AAA'-'111' 'aaa'-'AAA'-'222' 'aaa'-'BBB'-'111' 'aaa'-'BBB'-'222' 'bbb'-'AAA'-'111' 'bbb'-'AAA'-'222' 'bbb'-'BBB'-'111' 'bbb'-'BBB'-'222' 以上、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 配列の組み合わせを数える方法

    配列の組み合わせを数えるイイ方法はないでしょうか? たとえば ArrayA[]={"aaa","bbb","aaa","ccc","bbb","aaa"} ArrayB[]={"1","1","1","2","1","2"} ↑の配列があるとして、 aaa - 1 : 2個 aaa - 2 : 1個 bbb - 1 : 2個 ccc - 2 : 1個 と組み合わせの数を数えることができる方法で悩んでいます。 Strtusを用いて作成しています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ArrayListに多次元配列

    ArrayListに多次元配列の変数を格納したのですが、取り出し方がわからず困っています。 ----------------------------------------------- String[][] str = {{"aaa","bbb","ccc","ddd","eee","fff"}, {"aaa","bbb","ccc","ddd","eee","fff"}, }}; ArrayList array = new ArrayList(); array.add(str[0]); array.add(str[1]); ----------------------------------------------- 上記の場合で、str[0][2];を取得する方法がわかりません。 java初心者なのでおかしな質問かもしれませんが、宜しくお願いします。

    • ベストアンサー
    • Java
  • 配列のキー取得

    現在の$str配列には、下記のようになっています。 Array ( [9] => test [5] => aaa [7] => bbb) print_r(array_keys($str)); とすると下記のように配列のキー値がわかりますが、 Array ( [0] => 9 [1] => 5 [2] => 7) キーを下記のように一つづつほかの配列に代入したい場合はどのようにしたらいいのでしょうか? for($i=0;$i<count($str);$i++){ $new_str[$i]=キーを取得する関数; } ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • 文字列を配列定義に使用するには

    文字列を配列の定義に使用したいのですが、可能でしょうか? 具体的には以下のような内容です。  $AAA = array("name"=>"山田","val"=>"10"); とすると変数$AAAは配列になります。  $BBB = 'array("name"=>"佐藤","val"=>"20")'; とすると変数$BBBは文字列になります。  $CCC = $BBB; と変数$CCCに代入した場合に、 変数$CCCを配列として認識させたいです。 つまり  print $CCC[name]; //佐藤  print $CCC[val]; //20 というように出力させたいのですが、 根本的に可能なのでしょうか…? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 多次元配列とfor文について

    javascriptの配列について質問です。 例えば: var arrXXX = new Array(); function samplefunc{ //3次元配列の種類の作成 for (m = 0; m < aaa.length ; m++) { //連想配列作成 arrXXX .push(aaa[m]); } for (j = 0; j < bbb.length; j++) { for (i = 0; i < ccc.length; i++) { arrXXX[aaa[j]] = new Array(ccc.length); arrXXX[aaa[j]][i] = new Array(ccc.length); for (k = 0; k < ddd.length; k++) { arrXXX[aaa[j]][i][k] = eee;     ここでは配列を適切に使える・・・ } } } ここでarrXXXを使いたいが、3次元配列でなくなっている?!  arrXXX[~][0][0]はnullまたはオブジェクトではありません・・・がでます。 } 結局、for文を完全にでてしまうと、せっかくつくった配列がダメになってしまいます。どうすればfor文外で配列を使用できるのか教えてください!

  • 配列の置き換え

    PHPで教えて欲しいです。 例えば、 $aaa = Array ( [0] => Array ( [id] => 1 [date] => 2009-07-14 [b1] => [b2] => [b3] => [b4] => [b5] => ) [1] => Array ( [id] => 1 [date] => 2009-07-15 [b1] => [b2] => [b3] => [b4] => [b5] => ) と言うような配列があります(実際にはキーは0から13まで固定) そこにもうひとつの配列 $bbb = Array ( [0] => Array ( [id] => 1 [date] => 2009-07-15 [b1] => true [b2] => false [b3] => true [b4] => false [b5] => true ) があります(キーは最大13個ですが、毎回不定数) このような場合で、$aaa配列の[date]と$bbb配列の[date]が同じ物が有った場合、$aaa配列の該当する部分の値を、$bbb配列の値で置き換えたいのですが、どのような方法があるでしょうか? お願いいたします。

    • 締切済み
    • PHP
  • 配列

    以下のコードの用に配列内に入っている要素をif文の「(array[i] == AA)」みたいに直接判定するのは不可能なのでしょうか?よろしくお願いいたします。 String[] array = {"AA","BB","CC"}; for(int i = 0;i < array.length;i++) {  if(array[i] == AA) //ここの部分

    • ベストアンサー
    • Java
  • CSVデータの行数カウント

    PHP初心者です。 アドバイスよろしくお願いします。 CSVデータ 20060802:1,AAA,少し 20060802:2,AAA,少し 20060802:3,AAA,少し 20060802:4,BBB,大きい 20060802:5,AAA,小さい 20060802:6,AAA,小さい 20060802:7,AAA,小さい があるとき、 そのCSVデータを読み込んで データの3列目を基準としてデータがいくつあるかを数えたい。 例えば 少し・・・・3 大きい・・・・1 小さい・・・・1 というふうに数えたい。 $filename = CSVデータファイル; $fp = fopen("$filename", "r"); if($fp == false){ exit; } else { for$i = 0; $i < sizeof($fp); $i++){ $line = explode(",", $fp[$i]); // ここで // $i[2]==AAA // のとき、AAAの行数をカウントする処理をしたい。 } }

    • ベストアンサー
    • PHP

専門家に質問してみよう