プロが教える店舗&オフィスのセキュリティ対策術

プログラミング超初心者です。
よろしくお願いいたします。

$keyword = urlencode(mb_convert_encoding($prms['keyword'], 'EUC-JP', mb_detect_encoding($prms['keyword'])));
$str = str_replace("%A%A1", "%20", $keyword);
$str_array = explode ("%20", $str);
$last = end($str_array);

A 回答 (1件)

間違っている、と考える根拠は?



エラーが出ないので「文法は正しい」プログラムです。


あとは

どういう目的で、どういう処理をしようとしているのか
それがどこがどんな風に期待通りに動作していないのか

が無いと、何が「正しい」なのか、判断できません。


本当にここで期待通りに動いていないのなら
$prms['keyword'が思っていたの違う
urlencodeが思っていたのと違う
%A%A1なんて文字列、$keywordに出てこない
%20なんて文字列、$strに出てこない// 予想と違う場所にある
→ explodeが期待と違うので。lastの戻り値も期待と違う

のどれかでしょう。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございました。
見直したところ、URLエンコードした文字列のスペースが実際は「+」のところを
「%20」と思い込んでいたためのミスでした。
助かりました。

お礼日時:2016/03/01 01:12

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