【PHPプログラミング】メモ帳に適当にメモったPV数値をexplodeで配列にし、array_sumで合計値を計算する

                    更新: 2021/12/08   1788文字

今回は、電卓で計算してもめんどくさい、メモ帳に適当にメモってしまった数値を、PHPのファンクションを使って合計値を一瞬で取ります。エクセル入力してあれば一発ですが、windowsメモ帳でした。なんかプログラムを使えると効率がよさそうです。さっそくやってみましょう。

必要になった状況=>メモ帳に適当にメモしたPV数値の、合計を知りたい

で、今回の対応が必要になった経緯について。要は合計PVの計算です。

管理人はgoogleアナリティクスのプロパティはドメインごとに管理していますが、『そのドメインに複数サイトが入っている』というケースがあります。最近追加したものだと、urlに短い接頭辞がついているので、文字列で絞り込んで合計値がすぐわかります。また、プロパティを切っているものも、同様に絞り込んですぐわかります。

しかし、昔解析してたサイトだと、『プロパティや接頭辞で分けていない』『スラッグやタイトル変更したものが混在している』という問題がありました。希望のページだけ一発絞り込みができず、目視確認してwindowsメモ帳に入力という原始的なやりかたに。


これがそのメモ帳です(笑)これでは、該当のページPV合計がどのくらいかわかりません。電卓でやってもかなり時間がかかるので、エクセルのsumみたいなイメージで、『この数値の合計をプログラムをつかって一発計算』というのをやってみます。

適当にメモって羅列された数値を、PHPで配列にして合計値を求める(explode&array_sum)

コード例(PHP)

変数$pvsには、テスト用として、上記のメモ帳の一行目を入れています。explodeというのは、PHPの『文字列を分割して配列を返す』というファンクションで、引用符で囲んだ半角空白がセパレーターになります。この数字羅列は、$pv_arrayという配列に。

その配列$pv_arrayに対して、array_sumを使います。PHPの『配列の合計値を求める』というファンクションで、int(整数)/float(浮動小数点数値)が戻ってきます(ab cd efみたいな文字列を入れても、0が戻ってきます)

実行例


xampp立ち上げるのもめんどくさかったので(笑)、paiza.ioでサクッと実行。最初の一行目の数値合計は『37204』になりました。全部だと『57930』だったかな。

入力欄みたいにして計算webサービスにしても良いんだけど、その場合は『数値とセパレーター以外の文字やスクリプトなどをハネる・エスケープする』など、バリデーションをしっかりやります。あとは数字の桁数でしょうか。64ビットとはいえ、9223372036854775807(922京3372兆368億5477万5807)以上の数値をぶち込まれるとオーバーフローするので。

参考リンク(PHPマニュアル)

あとがき・まとめ

  • メモ帳に適当に羅列した数値を電卓で計算するのは大変なので、プログラミングを使う
  • PHPのexplodeで、羅列したものを配列にできる
  • 配列の中身が数字の場合は、array_sumで合計値計算できる

まとめると、このようなところでしょうか。最初から、アナリティクスのプロパティや、接頭辞区切りをやっとけって感じでしたが、混在してわけわからなくなっていたPV合計がわかりました。

今回は簡単な内容でしたが、『田中さんの月別受注 1月/2件,2月/6件,~』みたいなスプレッドシートのデータがあるとき、配列に変換して合計値を求めたり、のように活用できるかもしれません。

WordPressサイト制作&リニューアル・機能開発サービス | アトリエSS


【カテゴリ】 - PHP・データベースetc
【タグ】 -

  関連記事

WordPress一覧表示で、特定のカテゴリ/投稿を表示しないようにするには?→category_not_in・post_not_inで
【WordPress条件分岐】is_singleとis_singularって違うの?→idやスラッグ指定、投稿タイプ指定の面で違いが
【WordPressフィールド画像取得】array_push&foreachループ、代替テキストをクラス出力、表示/非表示を切り替える方法
YouTube Data APIを使って、PHPで『タイトル・動画id・サムネイル画像』などを取得してみる(Search: listリソース)
【WPユーザー名バレ対策】ユーザー名表示からPHP・preg_matchでリダイレクト(wp-json/wp/v2/usersなど)
【WordPress更新情報表示】php/wp組み込みファンクション(fetch_feed)で取得と、プラグインで表示どちらが良い?
WordPressの記事IDで判定して転送~PHP・headerとget_the_IDで対応、the_IDとの挙動の違いも
【ユーザーデータ取得】WordPress定義済み関数の『get_userdata()』『wp_get_current_user()』ってどのように違うの?
PHP・shuffleやarrayを使った、画像ランダム表示方法~メインビジュアルやバナー・テキストにも利用可能
【WordPressカスタムフィールド検索】meta_queryで、シリアライズ値が入ったフィールドを持つ記事をヒットさせるには?
【PHP学習】var_dumpで出力するのと、echoで出力するのは、挙動がどのように違うの?
テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)