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

更新: 2023/10/27 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
【タグ】-

関連記事

【PHP】カウントダウン機能に使える?array_reverseで配列要素を逆に,パラメーター挙動&array_flipとの違い
【WordPress条件分岐】is_singleとis_singularって違うの?→idやスラッグ指定、投稿タイプ指定の面で違いが
【PHPプログラミング】glob関数を使って、特定ディレクトリ内のファイル一覧取得や、出力を行う方法
【PHP学習的な内容】emptyやis_nullなどで判定できないnull(String)の対応(preg_matchやstrpos?)
【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります
【別に止めなくてOK】WordPressサイトなどに、アメブロ・fc2などの更新情報を表示・連携する方法
【画像つきでわかりやすい】WordPressで使われるデータは、MySQLデータベースに、どのように格納されているの?
【PHPライブラリでスクレイピング】PHP Simple HTML DOM Parserで、クラスやID指定で別サイトの内容を取得する方法
【LaravelベースのCMS】PYRO CMSのローカルインストール方法や使用感など紹介
【webサイトセキュリティ対策】検索フォームへのSQL判定などがある不正な入力を、WAFで遮断する
【PHPプログラミング】メモ帳に適当にメモったPV数値をexplodeで配列にし、array_sumで合計値を計算する
【WPカスタマイズ】プラグイン不使用、テーマに関連記事表示機能を実装しPV・滞在時間を上げる