2016-04-23 6 views
0

if else条件に問題があります。 私の画面の幅は:1366 私のコードはif部分を表示するはずですが、常にelse部分を表示しています。私はキャストせずにすべての まずiがあれば条件を実行してなぜ...知らないが、問題は同じだった... は、その後の私は(int型)にキャストが、それでも問題は同じです私のPHPコードでelseが正しく動作しない場合

$screenWidth = "<script>document.writeln(screen.width);</script>"; 
echo "Screen Width is:" . $screenWidth; 
if((int)$screenWidth > 500) 
{ 
    echo "if part:" . $screenWidth; 
} 
else 
{ 
    echo "else part:" . $screenWidth; 
} 
+1

PHPはJavascriptからその情報を取得できません。簡単に言えば、ページがロードされる前にPHPが実行され、ページがロードされた後にJavascriptが実行されます。それが理由です。 – larsAnders

+0

しかし、PHPはこのコードを実行しています:echo "Screen Width is:" $ screenWidth;それは1366を示しています。問題はifelseの状態でしか来ていません – Affan

+0

ええ、あなたのページを右クリックしてソースを見て、PHPがJavaScriptをエコーし​​ている様子を見てください...あなたはいずれかのPHPを読み込むためにjavascriptを使う必要がありますファイルまたは他のものを含むことができる。 – Santy

答えて

1

ます本当にPHPでこれを行うことはできません。チェックアウト:this question and answerただし、Javascriptを使用すると、後で実行することができます。結果を出力するには宛先divが必要です。

<div id="output"> 
</div> 

<script> 
var screenWidth = screen.width; 
if(screenWidth > 500){ 
    document.getElementById('output').innerHTML = "if part:" + screenWidth; 
} else { 
    document.getElementById('output').innerHTML = "else part:" + screenWidth; 
} 
</script> 
関連する問題