私は次のコードを持っています
$path = $resource['path'];
if (strpos($path, base_url()) == 0) {
$path = FCPATH. substr($path, strlen(base_url()));
}
echo '<pre>';
$x = '/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js';
var_dump($path);
var_dump($x==$path);
var_dump('/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js' == $path);
echo '</pre>';
$path が構成されていると確信しています/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js
そして、これは私が得るものです:
string(82) "/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js"
bool(false)
bool(false)
比較は単に失敗したようです。ここで何が問題なのですか?PHP のバグか、私のミスか?
編集: このコードの結果も喜んでお見せします:
echo '<pre>';
$x = '/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js';
var_dump($path);
var_dump($x);
var_dump($x==$x);
var_dump($x==$path);
var_dump('/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js' == $path);
echo '</pre>';
結果は次のとおりです。
string(82) "/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js"
string(72) "/home/gofrendi/public_html/No-CMS/themes/ubuntu/assets/default/script.js"
bool(true)
bool(false)
bool(false)
もう一度編集:{{ used_theme }}
解決しました。現在使用されているテーマ
に変更するシステムをテンプレート化するために、いくつかの str_replace を実行します。使用されているテーマは 'ubuntu' で、長さは 6 文字ですが、{{ used_theme }} は長さが 10 文字です。コードの実行後に str_replace が実行されました。これにより、var_dump の結果も変更され、予期しない動作が発生します。みんなの助けに感謝します。