PHP多次元配列、特定キーの値を検索しindexを取得する(ループ不要)
WordPressでoptionテーブルに独自のデータを管理する場合、連想配列を使うのですが、 その中の配列からIDやCODEから対象のデータを探す際にループさせて1件ずつ探していく面倒だったので、もう少し良い方法はないかと調べてみました。
array_column と array_search を使うことで2行で対象のデータを取得することができます。 具体的なサンプルも合わせて載せていきます。
- 参考にしたサイト
- 今回使うデータは駅データ
- 普通に考えるとループで検索
- array_columnで検索対象のカラムのみ取得
- array_searchを使い対象のインデックスを取得
- (サンプル)大橋駅の情報が欲しいとき
- WordPressでの利用時のサンプルコード
JアラートはAppleWatchでどのように表示される?「福岡市のミサイル対応訓練」
PhantomJSをインストールする(Amazon Linux)
Amazon LinuxにPhantomJSをインストールしました。
Amazon Linux AMIのyumリポジトリからPhantomJSをインストールすることはできなかったのでバイナリディストリビューションからインストールします。
こちらを利用します。 bitbucket.org
ubuntuへのインストールはこちらをご覧ください。 soudan.hatenablog.jp
- 参考にしたサイト
- フォント関連パッケージのインストール
- PhantomJSバイナリデータをbitbucketからwgetでダウンロードする
- phantomjsフォルダを作成
- bz2ファイルを展開する
- tarファイルを展開する
- シンボリックリンクを作成する
- インストール確認
- 日本語フォントインストール
- 不要なダウンロードファイルを削除
PhantomJSをインストールする(Ubuntu)
UtuntuにPhantomJSをインストールしました。
用途は以下の2つです。
- Laravel/Duskでテストする
- 応募フォームの応募フロー自動化
Laravel/DuskはChromeDriverの他、PhantomJSも選べます。
環境によってはChromeDriverがインストールできないこともあり、今回はPhantomJSを選ぶことになりました。
応募フォームの応募フロー自動化は、単純に手間を省きたかったからです。
PhantomJSを使うと比較的簡単にスクレイピングができるということで選びました。
こちらはシナリオテストレベルの使い方、Laravel/DuskはDBの結果と突き合わせたりするので単体/結合レベルのテスト用という感じでしょうか。
それでは、OS:Utuntuにインストールしていきます。
- 参考にしたサイト
- パッケージリストの更新
- 必要なパッケージをインストール
- 日本語フォントインストール
- phantomjsのバージョン指定を変数に保持
- phantomjsをgitから取得
- ファイル確認
- ファイル展開、インストール
- シンボリックリンク作成
- phantomjsインストール確認
- 不要なダウンロードファイルを削除