Variable variables in PHP - What is their purpose?(PHP 中的变量 - 它们的目的是什么?)
问题描述
在 PHP 中有一个正式称为变量变量"的功能,其中可以分配变量变量.变量变量将一个变量的值作为新变量的名称!例如:
In PHP there's a functionality officially called "Variable Variables" where one can assign variable variables. A variable variable takes the value of one variable as the name for a new variable! For example:
$name='Joe';
$$name='Smith'; // could also be written as ${$name}='Smith'
第一个变量 $name 包含值 'Joe',而第二个变量名为 $Joe,值为 'Smith'.考虑到 PHP 变量区分大小写!
The first variable $name contains the value 'Joe', while the second is variable named $Joe with the value 'Smith'. Take into account that PHP variables are case-sensitive!
我从未使用过此功能,也看不出其用途.有人可以向我解释在何处可以利用此功能作为一种良好做法吗?
I've never used this functionality and do not see the purpose for that. Could someone explain to me where this functionality could be exploited as a good practise?
推荐答案
有时我们需要极其灵活且可以参数化的软件.当然,您必须准备整个事情,但其中一部分只是来自用户输入,我们没有时间仅仅因为用户需要新输入而更改软件.
Sometimes we need software that is extremely flexible and that we can parametrize. You have to prepare the whole thing, of course, but part of it just comes from user input, and we have no time to change the software just because the user needs a new input.
使用可变变量和可变函数,您可以解决没有它们就更难解决的问题.
With variable variables and variable functions you can solve problems that would be much harder to solve without them.
$comment = new stdClass(); // Create an object
$comment->name = sanitize_value($array['name']);
$comment->email = sanitize_values($array['email']);
$comment->url = sanitize_values($array['url']);
$comment->comment_text = sanitize_values($array['comment_text']);
带有可变变量
$comment = new stdClass(); // Create a new object
foreach( $array as $key=>$val )
{
$comment->$key = sanitize_values($val);
}
这篇关于PHP 中的变量 - 它们的目的是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:PHP 中的变量 - 它们的目的是什么?
基础教程推荐
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在多维数组中查找最大值 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01