ホームページ  >  記事  >  バックエンド開発  >  誰かこのコードの問題点を見つけるのを手伝ってくれませんか?

誰かこのコードの問題点を見つけるのを手伝ってくれませんか?

WBOY
WBOYオリジナル
2016-06-23 14:15:26921ブラウズ

<?php$str='abcdefghijklmnopqrstuvwxyz'; $count = 123456789;$str1 = $str[floor(floor(floor(floor(floor($count/26)/26)/26)/26)/26)];$str2 = $str[floor(floor(floor(floor($count/26)/26)/26)/26)%26];$str3 = $str[floor(floor(floor($count/26)/26)/26)%26];$str4 = $str[floor(floor($count/26)/26)%26];$str5 = $str[floor($count/26)%26];$str6 = $str[$count%26];echo $str1.'<br/>';echo $str2.'<br/>';echo $str3.'<br/>';echo $str4.'<br/>';echo $str5.'<br/>';echo $str6.'<br/>';?>

このエラーを報告する: Notice: E:wwwrand.php の 5 行目で文字列オフセット キャストが発生しました


ディスカッションに返信 (解決策)

Check rrreefloat(10)


添え字は整数である必要がありますので、
$str1 = $str[floor(floor(floor(floor($count/26)/26)/26)/26)/26)]
として記述する必要があります $str1 = $str[intval(floor) (floor(floor(floor(floor($count/26)/26)/26)/26)/26))];


rrreefloat(10) を確認してください

添字は整数である必要があるため、
$str1 = $str[floor(floor(floor(floor($count/26)/26)/26)/26)/26)];
と書く必要があります
$str1 = $str[intval(floor(floor( Floor(floor($count/26)/26)/26)/26)/26))];

モデレーターが非常に強力なので、長い間どこから始めればよいのかわかりませんでした

私は直接使用しましたlate (int) 強制転送は成功しました。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。