【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
【タグ】 -

  関連記事