這是我的 PHP 應用程式的一部分:
第 1 階段:
我從用戶那里獲得一系列付款方式并為其分配一個 ID,因為它可以包含多個選擇。
我$paymentMethod用一些例子填充了變數。
$paymentMethod = ['PayPal','Visa','Master'];
$paymentMethodNames = array("PayPal", "Visa", "Master", "COD");
$paymentMethodNumerical = array("1", "2", "3", "4");
$paymentMethodCalculated = implode(str_replace($paymentMethodNames, $paymentMethodNumerical, $paymentMethod));
結果echo $paymentMethodCalculated就是123這是完全正確的。
第 2 階段:
我需要創建一個特殊變數,它需要為我的應用程式的另一部分作業。
for ($x = 0; $x < strlen($paymentMethodCalculated); $x ) {
$paymentFinal .= '$_'.substr($paymentMethodCalculated, $x, 1);
if(isset($paymentFinal) && $x !== strlen($paymentMethodCalculated) - 1) {
$paymentFinal .= '.",".';
}
}
結果echo $paymentFinal就是$_1.",".$_2.",".$_3這是完全正確的。
第 3 階段:
現在我定義:
$_1 = Test;
$_2 = Test2;
$_3 = Test3;
現在,當我 echo$paymentFinal
它仍然顯示:
$_1.",".$_2.",".$_3
但我想要的結果是:
Test.",".Test2.",".Test3
問題:
為什么PHP不替換變數中定義的$paymentFinal變數?
uj5u.com熱心網友回復:
問題是PHP 不會根據您定義的變數更改您的字串。您有變數,其中包含一組保持不變的字符,直到您自己更改字串(例如str_replace或類似的東西)。( )里面的“變數”只是字符集;它們不代表您在代碼中定義的實際變數。$paymentFinal"$_1.",".$_2.",".$_3"
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/398927.html
標籤:php
