2016-09-08 1 views
-2

Ich habe ein HTML-Formular, das Werte in einem Format sammelt, das für eine bestimmte Aufgabe benötigt wird. Nach dem Ausführen der Aufgabe möchte ich eine zusätzliche Aufgabe ausführen, die dieselben Werte aus dem Formular verwendet, ohne dass der Benutzer die Informationen ein zweites Mal eingeben muss.Hinzufügen von Zeichenfolge zu Wert in PHP-Array

Das Problem, mit dem ich mich befinde, ist, dass die zweite Aufgabe erfordert, dass zwei der Felder anders formatiert werden, wenn sie an ihr Ziel gesendet werden.

Hier ist das Array für das zweite Skript, das gesendet wird, wobei den Schlüsseln auf der linken Seite die Werte auf der rechten Seite durch die Werte aus dem Formular zugewiesen werden.

$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 
); 

Was ich versuche, ist die Zeichenfolge hinzuzufügen‘, 000' auf den Wert von‚Menge‘von dem Eingang Benutzer genommen. Auch hier kann ich den Wert des HTML-Formulars nicht einfach ändern, da ich den Wert für das erste Skript anders formatieren muss.

Ich habe

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

No bueno. Ich habe auch eine ähnliche Methode vor dem Array versucht, aber ohne Erfolg.

Für das Feld, das den Wert von "Tabak" empfängt, versuche ich, es von einem Wert 0 oder 1 zu einem Ja oder Nein-Wert zu konvertieren. Ich versuchte dies

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

Aber das verursachte nur das Skript, um einen Nullwert zurückzugeben.

$ Tobacco wurde ursprünglich über dem contactFields Array als solche

// 

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

zugewiesen Irgendwelche Vorschläge? Vielen Dank. PHP ist nicht meine Stärke.

+0

Sie haben $ contactFields ['hhhhhhhh'] = 'menge' ausprobiert. ", 000"; und der Wert ist unverändert? Und wie ordnen Sie die Variable $ Tabak zu? – Nevertheless

+0

Ich könnte das Problem falsch verstehen, aber wenn Sie diese Zeichenfolge an Ihr Array-Element anhängen möchten, können Sie einfach verwenden: '$ contactFields ['hhhhhhhh'] = $ contactFields ['hhhhhhhh'].", 000 "; Ihr Tabakproblem: '$ contactFields ['gggggggg'] = ($ contactFields ['gggggggg'] == 'Tabak'? 'ja': 'nein');' –

+0

Vielen Dank für die Antworten. Ich habe eine Frage bearbeitet, um zu reflektieren, wie $ Tabak zugewiesen wurde. Kid Binary - Wenn ich das addiere, kommt der Wert als null zurück. Robert Wade - Ich werde deine Vorschläge versuchen. Vielen Dank! –

Antwort

1

Wenn Sie den Wert des Array-Element ändern möchten, können Sie es auf diese Weise tun:

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

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

oder Sie können Variablen einstellen, wenn Sie möchten Ihr Array nicht verändern:

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

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

Aber wie gesagt, wenn 'Betrag' wirklich eine Zahl ist, verwenden Sie Zahlenfunktionen und speichern Sie sie nicht als String.

+0

Danke für Ihre Antwort. Dies funktioniert hervorragend für das Betragsfeld. Und ja, ich stimme zu Menge sollte eine Zahl sein, aber meine Anweisungen sind, um Wert mit Kommas zurückzugeben, also ich es als eine Zeichenkette speichern. Für das Tabakfeld wird unabhängig von der ursprünglichen Eingabe ein Wert von "Nein" zurückgegeben. –

+0

Die Aussage für Tabak sagt, dass, wenn der Wert des Array-Elements mit Schlüssel ggggggg genau Tabak ist, dann ja zurückgeben, wenn alles andere als dann zurückkehren, was sind die möglichen Werte für dieses Feld? –

+0

Ok danke. Entschuldigung, ich bin neu in PHP. Ich verstehe, was es jetzt macht. Ich muss nur den Tabak auf 1 ändern.Die Werte, die ich habe, sind 1 für ja. 0 für Nein. Ich glaube, sobald ich das mache, sollte es funktionieren. –

Verwandte Themen