2016-09-08 26 views
-2

特定のタスクに必要な形式で値を収集するHTMLフォームがあります。タスクを完了した後、ユーザーが2回目に情報を入力することなく、フォームから同じ値を使用して追加のタスクを実行したいと思います。PHP配列の値に文字列を追加する

私が問題になっているのは、2番目のタスクでは、2つのフィールドが宛先に送信されるときに異なるフォーマットを必要とすることです。

ここには、左側のキーにフォームの値で右側の値が割り当てられている、送信される2番目のスクリプトの配列があります。

$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', 

ませんブエノ

を試してみました。私も配列の前に同様のメソッドを試しましたが、無駄です。

'tobacco'の値を受け取るフィールドについては、0または1の値からyesまたはnoの値に変換しようとしています。私はこれを試しました

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

しかし、それはちょうどスクリプトがnull値を返す原因となりました。

$タバコはもともと、そのような

// 

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']; 

としてcontactFields配列上の任意の提案を割り当てられていましたか?ありがとう。 PHPは私の強みではありません。

+0

あなたは$ contactFields ['hhhhhhhh'] = 'amount'を試しました。 '、000';値は変わりませんか?そして$タバコ変数をどのように割り当てますか? – Nevertheless

+0

私はこの問題を誤解しているかもしれませんが、その文字列を配列項目に追加したい場合、 '$ contactFields ['hhhhhhhh'] = $ contactFields ['hhhhhhhh']。"、000 ";'あなたのたばこの問題: '$ contactFields ['gggggggg'] =($ contactFields ['gggggggg'] == 'タバコ'? 'はい': 'いいえ'); ' –

+0

ありがとうございました。 $タバコの割り当て方法を反映するために質問を編集しました。 Kid Binary - それを追加すると、値がnullに戻ります。 Robert Wade - 私はあなたの提案を試みます。ありがとう! –

答えて

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 

しかし、 'amount'が本当に数字の場合は、数値関数を使用し、それを文字列として保存しないでください。

+0

あなたの答えをありがとう。これは、金額欄で効果的です。そして、はい、私は量が数字でなければならないことに同意しますが、私の指示はコンマで値を返すので、私はそれを文字列として保存しています。たばこの分野では、最初の入力にかかわらず「いいえ」の価値が返されます。 –

+0

タバコの声明では、配列項目のキーgggggggの値が厳密にタバコであれば、それ以外の場合はyesを返し、この項目の可能な値は何も返されないと言います。 –

+0

ありがとう。申し訳ありませんが、PHPを初めてお使いです。私は今何をしているのか理解しています。タバコを1に変更するだけです。私が持っている値は、はいの場合1です。いいえの場合は0です。私は一度それが動作するはずだと私は信じています。 –

関連する問題