• ベストアンサー

preg_matchでエラーが出ます。

「PHP Warning: preg_match() expects parameter 2 to be string, array given in~」というエラーが出てきて困っています。 該当する行は下記です。 if( preg_match("/http:\/\/aa.com\//" , $url ) ) 真ならば上手く行くのですが、違うアドレスだった場合、エラーが出ます。 当方PHP初心者ですが、助言をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

2点まちがいがあります (1)$urlに配列を指定していますね? preg_matchの第二引数にはstringしか指定できません http://www.php.net/manual/ja/function.preg-match.php (2)"/http:\/\/aa.com\//"「.」は「\.」としなくてはいけません

mitsutsu
質問者

お礼

なるほど、エラーの原因がわかりました。ありがとうございます。 ただ、解決方法がまだ見つからないので、もう少し勉強してみます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>解決方法がまだ見つからない いやいや・・・回答したとおり$urlを配列ではなく、文字列にするだけです 全体のロジックが見えないので具体的な修正方法は教えようがないですが $urlにかかわる部分を再チェックしてみてください

mitsutsu
質問者

お礼

無事解決しました。 ありがとうございました!

関連するQ&A