2017-09-30 20 views
0

次のPHPコードで予期しない問題が発生しています。PHP変数の内容が表示されない

$vadd = 'settings/images/logo.jpg'; 
if (strpos($vadd,"settings") == 0){ 
    $vaddr = '<img src = "'.$vadd.'">'; 
} 
$html = '<div style="text-align:center">'.$vaddr.'</div>'; 
echo $html; 

私は、ブラウザでコードを実行すると、私はページのソースコードに以下を参照してください。

<div style="text-align:center"><img src = ""/> 

なぜ表示されない$ VADDの値ではありませんか?それは愚かなものでなければなりませんが、私はそれを理解できません。

+0

は罰金HTTPS作品:// 3v4l.org/lkTOj –

+0

構文はよく見える – Akintunde007

+0

あなたは完全なコードを表示しないようです。おそらく周りにループがありますか? – Jeff

答えて

0

私はあなたのコードをテストしました。私はあなたが言及したディレクトリに画像を持っていないと思っています。私はこの理由は、変数$ VADDR doesntのは、あなたのif文の外に存在していることであるディレクトリを作成し、logo.jpgとその作業罰金

<?php 

    $vadd = 'settings/images/logo.jpg'; 
    if (strpos($vadd,"settings")== 0){ 
     echo $vadd; 
     $vaddr= '<img src = "'.$vadd.'">'; 
     echo $vaddr; 
    } 
    $html = '<div style="text-align:center">'.$vaddr.'</div>'; 
    echo $html; 
+0

ここには何が変わりますか? –

+0

@ u_mulder.sorry私の間違いが更新されました – iCoders

+0

iCoders、あなたは私に重要な手がかりをくれました。コードに間違いはありませんでしたが、画像ファイルの場所が正しくありませんでした。 – sridhar

0

を追加しました。外部のものは$ vaddと呼ばれます(rはありません)。 if(strpos($ vadd、 "settings")!= 0){、あなたの変数は決して作成されません。 これは次のコード部分を意味し、$html = '<div style="text-align:center">'.$vaddr.'</div>';は実際には初期化されていない変数を呼び出しています。

+0

これは本当ですか? – Akintunde007

+0

' Jeff

+0

変数$ vaddは初期化されています。$ vadd = ""; – sridhar

0

この関数は論理値FALSEを返すことがありますが、またFALSEと評価され非ブール値を返すことがあり、この

<?php 
$vaddr = "sample"; 
$html = "<div style='text-align:center'>$vaddr</div>"; 
echo $html; 

https://3v4l.org/VO2X7

0

を試してみてください。詳細についてはブーリアンに関するセクションをお読みください。この関数の戻り値をテストするには、===演算子を使用します。

利用===代わりに条件それが動作する場合で==の

(コードで示すことができない、私は携帯電話の午前.. http://php.net/manual/en/function.strpos.phpご参照ください)

+0

strpos()は正常に動作しているため、「img src」というテキストが表示されています。 – sridhar

関連する問題