使用此功能是否有任何特殊原因:
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
我正在学习php,但我真的不明白为什么你必须在这里使用“echo”。我们不需要打印或显示变量$ _SERVER,它更像是内部代码。关于何时使用php脚本的“echo”,有什么规则吗?
答案 0 :(得分:1)
$_SERVER["PHP_SELF"]
是一个超全局,它返回当前正在运行的脚本的名称。因此,如果该表单在index.php上,那么php服务器将回显index.php
。
关于何时使用echo
,实际上没有规则。您唯一不能使用它的是阵列。如果您尝试在数组上使用它,它将返回对象而不是字符串。对于一个数组,您可以遍历它来打印每个对象var_dump(array)
或print array[0]
,如果它是一个字典print array['key']
最重要的是要记住PHP是毕竟处理完成它只是向浏览器发送一个普通的html文件。
答案 1 :(得分:1)
$ _ SERVER ['PHP_SELF']属于当前正在执行的文档/路径。例如,index.php。使用echo只是将该路径打印到表单的action属性中,这意味着表单将被提交到index.php。