phpQueryで「Array and string offset access syntax with curly braces is deprecated」
はじめに
PHPでスクレイピングする時によく使うライブラリー「phpQuery」を使っている時に、以下のエラーが出た。
Array and string offset access syntax with curly braces is deprecated
【Google翻訳】
中括弧を使用した配列および文字列オフセット アクセス構文は非推奨です
原因
「phpQuery」は最近更新されていないので、PHPの新しいバージョンに対応できていないのかもしれません。
ライブラリスクリプトの中に以下のような箇所がいくつかあり、その書き方が非推奨というエラーのようです。
$param{1} == 'n'
解決方法
その1
次のように波括弧を角括弧に置き換えます。
$param[1] == 'n'
数カ所あるのですべて修正したらエラーは出なくなりました。
その2
もっと簡単に解決する方法は、ライブラリを使う時に以下のように「@」を付けることでエラーの出力を回避できます。(根本的な解決にならないのと、別のエラーも無視してしまう可能性あり)
$html_dom = @phpQuery::newDocument($html_source);
まとめ
たまに使う時にこのエラーに出くわすので備忘録として残しておきます。スクレイピングするならPython使った方がいいのかな~と思う今日この頃です。
-
前の記事
【PHP】0埋めされていない1桁の分をDateTime::createFromFormat()に入れたらfalseを返してきた 2021.08.01
-
次の記事
【PHP】変数の内容をファイルに書き出す(デバッグ・ログ) 2022.10.16
コメントを書く