代码块之间的PHP变量范围

我是PHP新手(仍然),并且继续学习。

我经常必须检索某个变量并访问其属性。

<?php

$id = $_REQUEST['id'];

$user_info = get_userdata($id);

echo('Username: ' . $user_info->user_login . "<br>");

echo('User level: ' . $user_info->user_level . "<br>");

echo('User ID: ' . $user_info->ID . "<br>");

echo('First Name: ' . $user_info->user_firstname . "<br>");

echo('Family Name: ' . $user_info->user_lastname . "<br>");

echo('user_registered: ' . $user_info->user_registered . "<br>");

?>

我希望一次检索一次$user_info = get_userdata($id);,然后在需要时在同一文件中但在不同<?php?>块中使用它

<?php

$id = $_REQUEST['id'];

$user_info = get_userdata($id);

?>

<some HTML>

<?php echo $user_info->user_login; ?>

<some HTML>

<?php echo $user_info->user_login; ?>

但是我怀疑$user_info不能在块之间共享,因为它不是全局的。通常的做法是什么?

回答:

您在php代码块中放置了太多含义。

这不是全球性的事情。

这些块属于同一PHP脚本。这只是输出HTML的一种简洁方法,仅此而已。您可以用回显HTML代替它,不会有丝毫差别。

整个PHP脚本是一次执行,而不是迭代执行,就像您可能想象的那样,认为PHP块是在服务器端执行的,然后是HTML块在客户端执行的,然后是服务器端的PHP块等等。上。错了

整个PHP脚本在服务器端执行,在浏览器中生成纯HTML,

这就是为什么不能通过仅将HTML表单及其处理程序放在前一个PHP脚本之后的方式来在同一个PHP脚本中对HTML表单及其处理程序进行编程的原因。您

才能使处理程序正常工作。这将完全是另一个调用,是同一脚本的另一个实例,完全

已经死了很久。这是关于PHP的另一件事:

PHP脚本执行是原子的。它不像浏览器中不断运行的桌面应用程序,也不是与桌面应用程序保持持久连接的守护程序。它更像是一个命令行实用程序-

完成其工作并退出。它离散地运行:

  1. 浏览器拨打电话
  2. PHP唤醒,创建HTML页面,将其发送到浏览器
  3. 浏览器呈现该HTML并将其显示给用户。
  4. 用户点击链接
  5. 浏览器拨打电话
  6. ,依此类推

以上是 代码块之间的PHP变量范围 的全部内容, 来源链接: utcz.com/qa/403087.html

回到顶部