質問: 0){ echo "a"; } //echo $tmp."と".$tmp2_pn; } } ``` ### 試したこと 文字エンコードの問題かと思って$tmpと$tmp2_pnをmb_convert_encoding関数を使って"utf-8"に直してみたのですが、結果は変わらずでした。 ### 補足情報(FW/ツールのバージョンなど) ubuntu18.04 Apache/2.4.29 PHP 7.2.5
回答: `$str1`と`$str2`がコードのどこにも定義されていないように見えます。 (`$str1`⇒`$tmp`、`$str2`⇒`$tmp2_pn`ですかね?) 追記 `file`で取り込む際に`FILE_IGNORE_NEW_LINES`オプションを指定していないので、 `$pn`には`jisyo.txt`の中身が末尾に改行が付与された状態で格納されています。 `$tmp`と比較をする際に、`$tmp2_pn`には改行が付与されているため、 `strcmp`で一致していないと判定されているのだと思われます。 PHPマニュアル:file `file`にオプションを指定してあげる(PHP5以降なら可)か、 比較する際に`rtrim($tmp2_pn)`のようにして改行を取り除いてあげればよいかと。