我在PHP中有兩個變量,比如$a
和$b
。 $a
是一個字符串變量。它包含$b
。如果更新$b
,我想自動更新$a
。
$b = 4;
$a = "value is ".$b;
echo $a; // value is 4
$b = 5;
echo $a; // should print value is 5
我在PHP中有兩個變量,比如$a
和$b
。 $a
是一個字符串變量。它包含$b
。如果更新$b
,我想自動更新$a
。
$b = 4;
$a = "value is ".$b;
echo $a; // value is 4
$b = 5;
echo $a; // should print value is 5
是,$a
可以自動,如果你引用賦值$b
到$a
被更新,但不應該是分配給$a
任何字符串連接。
嘗試:
$b = 4;
$a = &$b;
$c = 'Value is ';
echo $c.$a;
$b = 5;
echo $c.$a;
你應該按引用傳遞它。怎麼做 ?
做一個函數:
function showValue(&$b)
{
return 'value is ' . $b;
}
echo showValue($b);
我認爲這應該工作。
實際上,我有一個字符串變量,它取決於其他一些變量。所以我想更新這個變量,如果任何其他變量更新。感謝您的寶貴回覆。我想我應該跟功能一起去...... – Abhimanyu1310
看看http://www.php.net/manual/en/language.references.whatdo.php
$a = 4;
$b =& $a;
$a = 5;
echo $b; // should print 5;
不可能的,你想要的方式。你看,變量可以通過引用傳遞,就像這樣:
$a = &$b;
這將導致$a
時$b
的變化,但是,它可能不包含任何其他值,(是你想要的字符串)自動更新,因此您必須使用函數或另一個變量來執行此操作。
$b = &$a;
echo "Value is $b";
或
$b = &$a;
$description = "Value is ";
echo $description . $b;
PHP不具備該功能。你可以使用相關特徵是:
References,讓您的別名一個變量到另一個。每個變量的值是相同的,因爲它們只是符號表別名。
$b = "I'm b."
$a =& $b;
echo $a;
Variable variables,其中一個變量保存其它的名字。
$b = "I'm b."
$a = 'b';
echo $$a;
然而,一般應避免可變變量,因爲它們通常造成不必要的混淆。
功能(如mithunsatheesh建議)。這與你想要的最接近,因爲函數調用是一個表達式,它將具有你正在尋找的值。只有在將值插入到double-quoted字符串或heredoc字符串中時,函數纔會起作用。相反,您必須使用字符串連接,或將函數調用的結果分配給局部變量並對其進行插值。
當php腳本運行時,它會運行「一行一行」。當你像這樣分配
$b = 4;
$a = "value is ".$b;
$ b的值已經被分配給$ a,作爲整數4(而不是$ b)。所以,如果下一個$b
更新爲其他值。變量$a
不知道它。
在這種你必須使用的函數或變量引用情況在一些其他的答案
$a = 4;
$b =& $a;
$a = 5;
echo $b;
有什麼用例描述?你爲什麼需要這個? – outis