【发布时间】:2013-10-17 02:33:50
【问题描述】:
您好,我有兴趣了解变量是如何存储在 php 中的。
假设我有两个变量
$p = 1 + 1
$b = $p.
php 是保存变量的结果还是保存运行它的过程? 为什么我想知道如果我在其中存储一个函数,它是存储返回值还是只是复制过程。
谢谢!
编辑:我认为最好澄清一下我在说什么。
说:
function foo($something)
{
for loop
{
echo 'Something';
}
return $something;
}
$b = foo(5);
echo $b;
从我遇到的情况来看,只需分配值即可执行该功能。当我 echo $b 时,它也会再次执行该函数。
【问题讨论】:
-
$b将包含 2。只需将$p的值复制到其中。 -
我知道 $b 将包含两个,但说 p 是一个更复杂的函数。它会再次运行该功能吗?
-
@Dahnny012 你能给我们举个例子吗?
-
当然我在上课,但马上就学不好
-
不,它实际上是值。调用时返回值的函数会将其值返回到变量中。该函数只会被调用一次并且它的返回值被存储。假设您执行
$a = strlen("hello");,则strlen()的返回值将存储在$a中,然后您执行$b = $a;,将$a的值复制到$b,而不是回顾并执行$b = strlen("hello");
标签: php memory variable-assignment