Press "Enter" to skip to content

value=”‘.$_POST[‘width’].'”两边为什么有两个点

内容目录

最近重新学习php总是能发现各种问题,如题哦,下面是搜到的解决方案,和大家共享一下吧。也算备忘了。我的简单理解就是用连接符的方式引入变量值。

是否PHP? .在PHP代码中表示连接符。即把两边的字符串连接起来。推测这里大概是一条SQL语句中包含PHP变量,所以用.连接起来成为一个语句。

追问

$input.=’宽度: <input type=”text” name=”width” value=”‘.$_POST[‘width’].'” ><br>’;,是这样的,我都想不明白这里
为什么,求解

回答

这是连接字符串。 $input .= 表示将$input变量的上下文联系起来。 value=”” 表示把$_POST的值填入,连接起来,假设$_POST[‘width’]=200; 这里就是 <input type=”text” name=”width” value=”200″><br>。 另:在PHP中,双引号内的PHP变量可以被识别为变量,而单引号内的则不可以,只被当成字符串。你这条语句可以有多种写法,主要注意引号之间的对应就可以了。
比如可以写成:$input.=”宽度: <input type=’text’ name=’width’ value=’$_POST[width]’ ><br>”;,这里最外层是双引号,内部需要用引号的地方改成了单引号,$_POST两端不用连接符,该变量可直接被识别,但$_POST[‘width’]中的单引号被去掉了,因为这里用单引号造成了引号的混乱。还可以这样写:$input.=”宽度: <input type=\”text\” name=\”width\” value=\”$_POST[width]\” ><br>”;即都使用了双引号,但字符串中的双引号加了转义符\,从而被识别为字符串。以上两种都是双引号内直接写变量而不用连接符的写法。 还有就是你那样写连接符的写法。将变量单独拿出来,用连接符与字符串连接起来。
补:我大概了解你不理解的地方:
连接字符串应该这样理解:
$str1 = ‘宽度: <input type=”text” name=”width” value=”‘;
$str2 = $_POST[‘width’];
$str3 = ‘” ><br>’;
每个字符串都被单引号”括起来,当然第二个是变量。将他们3个连起来即为你那个写法。
造成你困惑的原因应该是字符串内部引号的使用,你再琢磨琢磨吧。
发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注