2017-08-18 11 views
-2

ExcelスタイルのセルをAからBJに表示するにはどうすればよいですか?ExcelスタイルのセルをAからBJに表示するにはどうすればよいですか?

<?php 
for ($i = 'A'; $i <= 'BJ'; $i++) 
{  
    echo $i."<br>"; 
} 
?> 

AおよびBのみを表示します。 BJまで表示するには、BKで停止する必要があります。しかし、それはZZまでどのように機能しますか?

<?php 
for ($i = 'A'; $i <= 'ZZ'; $i++) 
{  
    if ($i == 'BK') break; 
    echo $i."<br>"; 
} 
?> 
+0

は、第1と間違って何ですか? – Jeff

+0

私は単に行を入れ替えたいと思う: 'if-break 'の上に' echo $ i'を置く。 – Jeff

+0

Excelには行の上ではなく行としての文字があることは間違いない。 – Andreas

答えて

1

あなたは文字列を比較しているときの比較がアルファベットであるため、問題が.... <=を使用している、とZZA未満であり、かつ>BJC ...あなたが!==比較を使用する必要があります。 ...

は、エンドポイント

$endpoint = BJ; 

増分を取ること

$endpoint++; 

はその後

for ($i = 'A'; $i !== $endpoint; $i++) { ... } 
+0

BTWの第2のコードが動作しています: - https://eval.in/847069 –

+0

@AlivetoDie - BJにはいですが、実際の質問は "しかし、それはどのように' ZZ'まで働くのですか? –

0

もう一つの方法は、文字に数値を変換するために、CHR()関数を使用することですか。

ここでは、Iは65から126にループします。A = 65と126はBJではなく、126~65が必要な列の数です。

for ($i = 65; $i <= 126; $i++) 
{ 
    If($i > 116){ // more than AZ 
     echo "B" . chr($i-52)."<br>\n"; 
    }ElseIf($i >90){ // more than Z 
     echo "A" . chr($i-26)."<br>\n"; 
    }else{ 
     echo chr($i)."<br>\n"; 
    } 
} 

https://3v4l.org/XVIV9

関連する問題