0
請原諒,如果我問的是錯誤的問題或不可能的問題,我是PHP的新手。我有以下PHP代碼PHP將動態變量名稱修改爲靜態變量名稱
<?php
if ($this->arrCustomFields) {
foreach ($this->arrCustomFields as $field) {
if($field['blnView']) {
echo 'var '.preg_replace('/\s+/', '_', strtolower($field['lbl']->Name)).' = "'.$field['lbl']->Text.'";';
}
}
}
?>
此代碼生成以下變量,我在同一頁上的JavaScript中使用。
上述VAR hp_modelsvar optic_drive = "No CD/DVD Media Installed"; var power_supply = "No PSU"; var ram = "2 GB"; var web_cam = "No"; var processor = "No Processor Installed"; var tested_by = "FM"; var psu = "None"; var data_storage = "Not Installed"; var grade = "B"; var serial_no = "24234234"; var hp_models = "D2200-VC"
通知=「值」是一個具有動態變量名的變量,我想這個變量轉換爲靜態名稱。原因是,如果我正在查看Dell,IBM或其他型號,則此變量名稱將動態更改爲供應商名稱,例如「var ibm_models」,「var dell_models」,「var sony_models」等。我想將這個變量名稱轉換爲靜態名稱,比如somemodel或prodmodel,而不管供應商。
所以我應該能夠使用它像下面的東西。
<?php
echo $_models;
?>
無論供應商名稱如何,我都應該能夠獲取變量的值。因此,對於這個變量,我使用「_」作爲分隔符下劃線,只有第一部分動態地爲每條記錄改變,第二部分是模型是靜態的。
我希望我能解釋得很好。
此代碼是非常危險的。您直接將PHP數據轉儲到JavaScript上下文中。您**必須** json_encode()數據以防止文本中的任何JS元字符造成語法錯誤並殺死您的JS代碼塊。至於你的結構。 'var models ['hp'] ='D2200-VC''可能會爲您提供更好的服務。 –
那麼如何將此動態變量轉換爲靜態變量? – user2107349
你的名字總是以「_models」結尾? – SenseException