2016-09-08 34 views
-2

我有一個HTML表單,它以某種特定任務所需的格式收集值。完成任務後,我想使用表單中的相同值執行額外的任務,而無需用戶再次輸入信息。將字符串添加到PHP數組中的值

我遇到的問題是第二個任務需要兩個字段在發送到目標時的格式不同。

這是第二個腳本中發送的數組,其中左側的鍵由表單中的值在右側分配值。

$contactFields = array(
    // field name in myServer => field name as specified in html form 
    'aaaaaaaa' => 'email', 
    'bbbbbbbb' => 'stuff', 
    'cccccccc' => 'morestuff', 
    'dddddddd' => 'blah', 
    'eeeeeeee' => 'blahh', 
    'ffffffff' => 'blahh', 
    'gggggggg' => 'tobacco', //tobacco use 
    'hhhhhhhh' => 'amount', //face amount 
); 

我想要做的是將字符串',000'添加到從用戶輸入中獲取的'amount'的值。同樣,我不能只改變HTML表單上的值,因爲我需要第一個腳本的格式不同。

我已經試過

'hhhhhhhh' => 'amount'.',000', 

沒有布埃諾。在數組之前我也嘗試過類似的方法,但無濟於事。

對於接收「菸草」值的字段,我試圖將其從0或1值轉換爲yes或no值。我試過這個

if ($tobacco == 1) { 
    $tobacco = "yes"; 
} else if ($tobacco == 0) { 
    $tobacco = "no"; 
} else { 
    $tobacco = "?"; 
}; 

但是這只是導致腳本返回一個空值。

$菸草最初的contactFields陣列這樣

// 

Assigns variables to input fields 
$aaaaaaaa = $_POST['email']; 
$bbbbbbbb = $_POST['aaaaaaaa']; 
$cccccccc = $_POST['bbbbbbbb']; 
$dddddddd = $_POST['cccccccc']; 
$eeeeeeee = $_POST['dddddddd']; 
$ffffffff = $_POST['eeeeeeee']; 
$gggggggg = $_POST['tobacco']; 
$hhhhhhhh = $_POST['amount']; 

任何建議上述分配?謝謝。 PHP不是我的強項。

+0

您已嘗試$ contactFields ['hhhhhhhh'] ='金額'。 」,000' ;價值不變?你如何分配$菸草變量? – Nevertheless

+0

我可能會誤解這個問題,但是如果你想把這個字符串附加到你的數組項中,你可以簡單地使用:'$ contactFields ['hhhhhhh''] = $ contactFields ['hhhhhhhh']。「,000」;'也適用於您的菸草問題:'$ contactFields ['gggggggg'] =($ contactFields ['gggggggg'] =='tobacco'?'yes':'no');' –

+0

感謝您的回覆。我編輯了問題以反映菸草如何分配。孩子二進制 - 當我添加這個時,值返回爲null。羅伯特韋德 - 我會嘗試你的建議。謝謝! –

回答

1

如果你想改變數組項的值,你可以這樣來做:

$contactFields['hhhhhhhh'] = $contactFields['hhhhhhhh'].",000"; 
echo $contactFields['hhhhhhhh']; 
// outputs 
// amount,000 

$contactFields['gggggggg'] = ($contactFields['gggggggg'] == '1' ? 'yes' : 'no'); 
echo $contactFields['gggggggg']; 
// outputs 
// yes 

,或者你可以設置變量,如果你不想改變你的陣列:

$newAmmount = $contactFields['hhhhhhhh'].",000"; 
echo $newAmount; 
// outputs 
// amount,000 

$newTobacco = ($contactFields['gggggggg'] == '1' ? 'yes' : 'no'); 
echo $newTobacco; 
// outputs 
// yes 

但如前所述,如果「金額」確實是一個數字,請使用數字函數並且不要將其存儲爲字符串。

+0

感謝您的回答。這適用於金額領域。是的,我同意金額應該是一個數字,但我的指示是用逗號返回值,所以我把它作爲一個字符串存儲。對於菸草領域,無論初始投入如何,我都會返回「否」的值。 –

+0

菸草聲明表示,如果數組項的值與鍵ggggggg完全相同,則返回yes,如果有其他返回值,則返回no此字段的可能值是多少? –

+0

好的謝謝。抱歉,我是PHP新手。我明白現在正在做什麼。我只需要將菸草換成1。我的價值觀是1。 0表示沒有。我相信一旦我這樣做,它應該工作。 –

相關問題