PHP连接解析错误问题帮助新手


php concatenation parsing errors issue help a newbie

请帮我解决这个问题。我试图回显7或8输入类型。输入类型必须有2个值从我的数据库。
数组被称为:$ addressx[]和$ addressy。并且在网页加载时自动加载。
因此,当number为0时,我想创建一个值为($ addressx [0],$ addressy[0])的输入类型。我不断得到解析错误,这是我的第一个项目在php/javascript。请帮帮我。
我的代码是这样的

<?php  
for ($number=0;$number<=$array_no-1 ;$number++)
{
 echo '<input type="text" id="inputtype"."$number"
                                 value="".$adressX['.$number'],".$adressY['.$number']">';

};
                    ?>

你把引号和句号弄乱了。试试这个:

<?php  
for ($number = 0; $number <= $array_no-1; $number++) {
   echo '<input type="text" id="inputtype' . $number . '" value="' . $adressX[$number] . ',' . $adressY[$number].'" />';
}
?>

您应该阅读PHP如何处理引号和连接,但这里有几个示例可以帮助您入门。

如果你想用单引号开始字符串,你也必须用单引号结束/连接字符串。这样的:

$var = 'yay';
$string = 'The value of the variable is ' . $var;
$string2 = 'The value of the variable is ' . $var . '!'; // Add another string after variable

同样,如果以双引号开始,则必须以双引号结束/连接,如下所示:

$var = "yay";
$string = "The value of the variable is " . $var;
$string2 = "The value of the variable is " . $var . "!";
$string3 = "The value of the variable is $var!";

注意最后一个示例$string3。当使用双引号时,可以将变量放在引号内,PHP仍然会解析它们;然而,我不能容忍这种情况,我总是连接,所以当使用带有语法高亮显示的IDE时,变量的位置很明显。

下面是一个在字符串开始/结束时使用相同类型引号的例子。要做到这一点,必须使用斜杠()告诉PHP,这些应该被解析为常规引号,而不是分隔符。

$string = 'You''re using escaped quotes now!'; // notice the ' in front of the ' in you're

最后,这里有一个PHP中的HTML字符串示例。我通常用单引号开始这些字符串,这样我就可以在HTML中使用传统的双引号分隔符。

$html = '<div class="someClass">Hello world!</div>';
 <?php  
 for ($number=0;$number<=$array_no-1 ;$number++) {
     echo '<input type="text" id="inputtype'.$number'" value="'.$adressX[$number].','.$adressY[$number].'">';
}

使用PHP的echoprint语句通常是PHP新程序员在屏幕上获得输出的地方。但是,在处理HTML标记的输出时,转义引号和语法问题可能很快就会出现。相反,尝试使用sprintf来格式化这些更复杂的标记元素。下面是一个例子。

for ( $number = 0; $number <= $array_no - 1; $number++ )
{
    echo sprintf( '<input type="text" id="inputtype%u" value="%s,%s"/>', $number, $addressX[ $number ], $addressY[ $number ] );
}

重要的是要知道,在本质上,sprintf是一种复杂的搜索和替换格式方法。第一个参数是一个带有占位符的字符串,下面的所有参数都是将在该字符串中用于替换占位符的变量。输入字符串后面的参数数量必须与字符串中占位符的数量匹配。

您将注意到在我的示例中使用的输入字符串中的%s%u。这意味着格式为%s String或%u Integer。格式化的方法有很多,但是,作为一个新手,这些是你可能会发现自己使用最多的方法。

这怎么容易呢?

这更容易,因为你可以用双引号和占位符添加一个正确格式化的HTML片段。从视觉上看,我发现它比分散在代码中的大量' . $variable . '位更容易阅读。

此外,sprintf将成为您在PHP阶梯上移动时经常使用的东西。是时候学了