ループの次の位置を印刷しようとするとエラーメッセージが表示されますか?PHPで次の位置を取得しようとすると、未定義のオフセット
$coba = "testing";
for($h=1;$h<(count($coba));$h++){
echo $coba[$h+1];
}
ループの次の位置を印刷しようとするとエラーメッセージが表示されますか?PHPで次の位置を取得しようとすると、未定義のオフセット
$coba = "testing";
for($h=1;$h<(count($coba));$h++){
echo $coba[$h+1];
}
これはあなたのコードである場合は、そのエラーを得るでしょう:
$coba = "testing";
for($h=1;$h<strlen($coba);$h++){
echo $coba[$h+1];
}
あなたが存在しない何かを印刷しようとしているある理由。
$ hを配列より大きい数値に増やしています。そのため、オフセットエラーが発生しています。
'$ h'は決してその条件で増分しません。 –
オリジナルのコードはここに間違っている - >for($h=1;$h<(**count**($coba));$h++){
)は(数の差()とstrlenのためにPHPリファレンスガイドを参照してください。 、今
$coba = "testing";
for($h=1;$h<strlen($coba);$h++){
echo $coba[$h+1];
}
について:
数($のコバ)は、コードが文字列によって正しくループう1
STRLEN($のコバ)あなたはstrlenを使用する場合は7
ですあなたが言及したエラーは、上記を実行すると、私は得る:
PHP Notice: Uninitialized string offset: ...
ここで2つの問題があります元のコード。私はあなたの元の意図を知らないので、私はループで何をしようとしていたのか推測することしかできません。
問題#1:文字列にインデックス付けは、0で始まる必要がありません1
問題#2:$のコバ[$ H + 1]時間でアレイの端部に無効なインデックスであろう+ 1 。
出力$coba = "testing";
for($h=0;$h<(strlen($coba)-1);$h++){
echo $coba[$h+1];
}
:
あなたはこのように、最終的なコードは次のようになりfor($h=0;$h<(strlen($coba)-1);$h++){
経由Hであるか、または 以下ループ1にループを変更するだけにインデックスさh + 1を調整することができますいずれか実行:
esting
"PHPリファレンスガイド" –
をよく言及しているので、 'count()'と 'strlen()'にリンクを張りたいかもしれません。私は完全なコードを表示しません。コメントいただきありがとうございます。私はそれを試します:) –
文字列は文字配列として扱われ、インデックスは0から2になりません。 –
何をしますか? – C2486