【问题标题】:Trouble using strlen method and another newbie question使用 strlen 方法和另一个新手问题时遇到问题
【发布时间】:2010-02-13 03:43:51
【问题描述】:

这是我的 PHP 代码:

<html>
    <Head>
    <?php   $FirstName="Sergio";
                    $LastName="Tapia";
                    $firstNameCount=strlen($Firstname);
    ?>
    </Head>
    <body>
            <h1>It works!</h1>
            <?php echo("Why hello there Mr. ");
                      echo $FirstName . " " . $LastName;
                      echo "So, your name appears to have " . $firstNameCount . " letters." ?>
    </body>
</html>

它总是显示我的 firstNameCount 是 0,而它应该是 6。任何想法我做错了什么?

另外,请告诉我如何格式化代码,使其采用推荐的方式。由于我对 PHP 完全陌生,因此我可能没有按照标准要求进行格式化。

谢谢。

编辑:还有 echo "texthere" 和 echo("text here") 之间的区别。我只是注意到我正在使用两者(我可能不应该)。我应该使用哪个?

【问题讨论】:

    标签: php strlen


    【解决方案1】:

    PHP 变量名区分大小写。你应该引用$FirstName,而不是$Firstname

    $firstNameCount=strlen($FirstName);
    

    就样式实践而言,没有语言范围的标准。格式化的最佳方法是编写干净易读的代码。对于您上面的 sn-p,我会这样做:

    <?php
      $FirstName = "Sergio";
      $LastName = "Tapia";
      $firstNameCount = strlen($FirstName);
    ?>
    <html>
      <head>
      </head>
      <body>
        <h1>It works!</h1>
        <?php echo "Why hello there Mr. " . $FirstName . " " . $LastName . "So, your name appears to have " . $firstNameCount . " letters." ?>
      </body>
    </html>
    

    echo 函数可以以任何一种方式使用(echo('') 或 echo ''),我唯一的建议是选择一个并坚持使用它。

    【讨论】:

    • 您对 strlen 的调用仍在示例代码中使用大小写错误的版本。 (“n”没有大写。)
    • @clee 感谢您指出这一点。该示例用于代码样式,错误修复高于此,但我更新了我的答案以防万一。
    【解决方案2】:

    变量名区分大小写。注意 $FirstName 和 $Firstname 的拼写方式。

    【讨论】:

      【解决方案3】:
      $Firstname <> $FirstName
      

      【讨论】:

      • 在 PHP 中,这将是 '!='。因为这个 '' 不等于 PHP 中的这个 '!='。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多