プロが教えるわが家の防犯対策術!

お世話になります。

こちらで公開されているコードを利用させていただいたのですが、

https://gist.github.com/cherenkov/2663757

RSSの情報がまだ1つも無いURLを登録した場合やRSSの情報が1つの場合、以下のエラーが発生して取得できないようです。

Warning: array_merge(): Expected parameter 1 to be an array, string given in

RSS情報が2つ以上無いと正常に取得できないのですが、
まだ0の場合や1つの場合でもエラーが発生せず正常に取得できるようにするにはどうしたら良いでしょうか。

お手数をおかけしますがご教授いただけるようでしたら幸いです。

A 回答 (1件)

array_merge は引数に配列を期待しています


https://www.php.net/manual/ja/function.array-mer …

事前判定として、値が有るか、値が配列であるかを確認しましょう
https://www.php.net/manual/ja/function.isset.php
https://www.php.net/manual/ja/function.is-array. …

値が無いなら、処理しない
値が有れど、配列でないなら array_push で処理
それ以外なら array_merge で処理

余談ではありますが

SimpleXML は簡単ですが欠点も多く、ご質問のようなバグが多発するので、もっと厳格な API に変更することをお勧めします。
    • good
    • 0
この回答へのお礼

大変遅くなりまして申しわけありません。
ご教授いただきながら自身のスキルではどうしても上手くいかなかったので勉強し直します。
お忙しい中ありがとうございました。

お礼日時:2022/09/03 16:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!