2017-01-27 12 views
0

組み込みのPHP関数を使用せずに文字列を逆に表示しようとしています。私のコードは動作していますが、それは私に行番号の初期化されていない文字列オフセットの通知を与えています。あなたが本当にしたくない場合は初期化されていない文字列オフセット:11行目のF: xampp htdocs practice temp rev_string.phpに11

tuaR fisuaT

$str = "Tausif Raut"; 

for($i = strlen($str) -1; $i>=0; $i--){ 
    echo $str[$i]; 
} 

出力:あなただけの1を使用し、2つのループを必要といけない6.

<?php 
    $str = "Tausif Raut"; 
    $k=0; 
    while ($str[$k] != '') { 
     $k++; 
    } 
    $len = $k; 

    for($i = ($len-1);$i>=0; $i--){ 
     echo $str[$i]; 
    } 

?> 
+1

'while($ str [$ k]!= ''){'単なるカットではありませんが、範囲外の配列は範囲外の配列です。 – Xorifelse

+0

このコードを修正するにはどうすればよいですか? –

答えて

1

関数を使ってビルドすると、メッセージを抑えることができます:

<?php 
    $str = "Tausif Raut"; 
    $k=0; 
    while (@$str[$k] != '') { 
    $k++; 
    } 

    for($i = ($k-1);$i>=0; $i--){ 
    echo $str[$i]; 
    } 

?> 

ただし、これは設計上の欠陥であるため、@を使用することをおすすめしません。

+0

ご返信ありがとうございます。私はstrlen関数でそれを行うことができることを知っています。しかし、私はPHP関数のいずれかを使用したくない –

+1

@ TausifRaut私はあなたの質問でそれを見たが、あなたは文字列の長さを知る必要があります。これは、[tag:C++]のような低レベルの言語でも実行可能です。 – Xorifelse

関連する問題