2015-02-01 3 views
0

Я бы назначил $_SERVER['HTTP_USER_AGENT'] моей переменной post $_POST['fes-name'].

Это то, что я пытался, но он не работает. Когда я эхо $_POST['fes-name'], я хотел бы получить информацию о браузерах.

$user_agent = $_POST; 
$user_agent['fes-name'] = $_SERVER['HTTP_USER_AGENT']; 

Я делаю что-то неправильно?

+1

'echo $ _POST ['fes-name'] = $ _SERVER ['HTTP_USER_AGENT']'?! Почему вы хотите присвоить значение переменной '$ _POST' ?! – Rizier123

+0

Манипулирование '$ _POST' имеет тенденцию подразумевать, что вы делаете что-то немного напуганное с вашим кодом. Зачем вам это нужно? – christopher

ответ

1

Когда PHP присваивает массив переменной, он делает это путем копирования. Так, например:

$a = array(3); 
$b = $a; 
$b[0]=1; 
print_r($a); 
/* 
Array 
(
    [0] => 3 
) 
*/ 
print_r($b); 
/* 
Array 
(
    [0] => 1 
) 
*/ 

У вас есть два варианта, если вы хотите изменить $_POST. Либо вы можете назначить $_POST непосредственно:

$_POST['fes-name'] = $_SERVER['HTTP_USER_AGENT']; 

Или, you could assign $user_agent by reference, а затем изменить это изменит $_POST, а также.

$user_agent =& $_POST; 
$user_agent['fes-name'] = $_SERVER['HTTP_USER_AGENT']; 
Смежные вопросы