php变量的内容未显示

时间:2017-09-30 09:11:34

标签: 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的值没有显示?它一定是愚蠢的,但我无法弄清楚。

4 个答案:

答案 0 :(得分:0)

我已经测试了你的代码我认为你在你提到的目录中没有图像所以它没有回头任何想法。我已创建目录并添加了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;

答案 1 :(得分:0)

原因是变量$ vaddr不存在于if语句之外。外面的那个被称为$ vadd(没有r)。 所以if(strpos($ vadd,“settings”)!= 0){,你的变量永远不会创建。 这意味着下一段代码$html = '<div style="text-align:center">'.$vaddr.'</div>';实际上正在调用一个未初始化的变量。

答案 2 :(得分:0)

试试这个

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

https://3v4l.org/VO2X7

答案 3 :(得分:0)

此函数可能返回布尔值FALSE,但也可能返回非布尔值,其值为FALSE。有关更多信息,请阅读有关布尔值的部分。使用===运算符测试此函数的返回值。

使用===而不是== in if条件它将起作用

(无法在代码中显示,我在移动设备上..请参阅 http://php.net/manual/en/function.strpos.php