如何在php echo语句中使用多个url变量

时间:2013-05-19 03:27:03

标签: php

我试图执行下面的代码,并试图弄清楚我错过了什么,但它似乎有点复杂,任何提示或指导,以简单的方式使用逗号,引用请。

echo "<td><a href='update.php?jobrequestnumber$counterforlist=\".$row['jobrequestnumber'].\"&requestingcompany$counterforlist=$row['requestingcompany'].\"&dateforService$counterforlist=$row['dateforService']."'>Update</a></td>";

非常感谢

3 个答案:

答案 0 :(得分:1)

您的代码应该是......

echo "<td><a href='update.php?jobrequestnumber$counterforlist=\"".$row['jobrequestnumber']."\"&requestingcompany$counterforlist=".$row['requestingcompany']."\"&dateforService".$counterforlist."=".$row['dateforService']."'>Update</a></td>";

请记住,您不必使用echo连接,只需用逗号分隔您的参数即可。 您可能会发现这种格式更容易维护。

echo '<td><a href="update.php?',
    'jobrequestnumber', $counterforlist,'=',$row['jobrequestnumber'],
    '&requestingcompany',$counterforlist,'=',$row['requestingcompany'],
    '&dateforService',$counterforlist,'=',$row['dateforService'],'">Update</a></td>"';

答案 1 :(得分:1)

由于PHP中的变量解析方法,当在双引号中遇到$时,解析器将尝试检索带有$后面的字符的变量。因此,您无需转义字符串即可正确解析变量。这种解析方法称为简单语法。简单语法的替代方法是使用{...}来封装变量的复杂语法。

在您的情况下,我建议使用复杂的语法,因为它可以更轻松地维护代码/维护。

echo "<td><a href=\"update.php?jobrequestnumber{$counterforlist}={$row['jobrequestnumber']}&requestingcompany{$counterforlist}={$row['requestingcompany']}&dateforService{$counterforlist}={$row['dateforService']}\">Update</a></td>";

如果您使用单引号来包装字符串,那么使用简单语法的以下解决方案将起作用:

echo '<td><a href="update.php?jobrequestnumber'. $counterforlist .'='. $row['jobrequestnumber'] .'&requestingcompany'. $counterforlist .'='. $row['requestingcompany'] .'&dateforService'. $counterforlist .'='. $row['dateforService'] .'">Update</a></td>';

此案例有多种方法,由于本网站的性质,您可能会找到一系列答案,因此最终取决于您希望使用哪种方法。有些可能在性能方面比其他方面更优惠,但最有可能出于您的目的,您不会发现任何明显的差异。

请参阅manual以获取进一步说明。

答案 2 :(得分:0)

您应该了解single and double quotes

你的代码应该是这样的:

echo "<td><a href='update.php?jobrequestnumber$counterforlist=\'.$row[jobrequestnumber].\'&requestingcompany$counterforlist=$row[requestingcompany].\'&dateforService$counterforlist=$row[dateforService].'>Update</a></td>";