2016-09-08 3 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 
); 

사용자 입력에서 가져온 'amount'값에 ', 000'문자열을 추가하십시오. 다시 말하지만, 첫 번째 스크립트에서 다르게 형식화 된 값이 필요하기 때문에 HTML 양식의 값을 변경할 수는 없습니다.

나는

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

없음 부에노

을 시도했습니다. 배열 전에 비슷한 방법을 시도했지만 아무 소용이 없습니다.

'tobacco'값을받는 필드의 경우 0 또는 1 값에서 예 또는 아니요 값으로 변환하려고합니다. 이것을 시도했다

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'] = '금액'을 시도했습니다. ', 000'; 가치는 변하지 않습니까? 그리고 $ 담배 변수를 어떻게 할당합니까? – Nevertheless

+0

나는이 문제를 오해하고 있을지 모르지만 그 문자열을 배열 항목에 추가하려면 다음을 사용하면됩니다 :'$ contactFields [ 'hhhhhhhh'] = $ contactFields [ 'hhhhhhhh']. ", 000";'또한 당신의 담배 문제 :'$ contactFields [ 'gggggggg'] = ($ contactFields [ 'gggggggg'] == 'tobacco'? 'yes': 'no')) ' –

+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'가 실제로 숫자 인 경우 언급 한 바와 같이 number 함수를 사용하고 문자열로 저장하지 않습니다.

+0

답변 해 주셔서 감사합니다. 금액 입력란에 적합합니다. 그리고 그렇습니다, 금액이 숫자 여야한다고 동의합니다. 그러나 명령은 값을 쉼표로 반환하여 문자열로 저장합니다. 담배 필드의 경우 초기 입력에 관계없이 '아니오'라는 값이 반환됩니다. –

+0

담배에 대한 설명에 따르면 배열 항목의 키 ggggggg의 값이 정확히 담배라면 그 밖의 것이 있으면 yes를 반환하고이 필드에 가능한 값은 무엇인지 반환하지 않습니까? –

+0

감사합니다. PHP를 처음 사용해서 죄송합니다. 나는 지금 무엇을하고 있는지 이해합니다. 담배를 1로 바꾸면됩니다.내가 가지고있는 값은 1입니다. 아니오의 경우 0입니다. 내가 한 번 그렇게하면 효과가 있다고 믿습니다. –

관련 문제