2011-04-07 53 views
1

我有一個提交多人的細節在$ _REQUEST我得到一個即形式:如何通過REQUEST循環並使用動態變量命名? PHP! :)

title1 = Mr, 
first_name1 = 'Whatever', 
surname1 = 'Whatever', 

title2 = Mr, 
first_name2 = 'Whatever', 
surname2 = 'Whatever' 

有明顯更多,但這種解釋這種情況。有可能是被提交十人,因此將上升到title10,first_name10,surname10 ...

我一直在嘗試使用:

for ($x = 1; $x < 4; $x++) { 

    $a = new applicant(); 
    $a->title  = $_REQUEST['title'+$x]; 
    $a->first_name  = $_REQUEST['first_name'+$x]; 
    $a->surname   = $_REQUEST['surname'+$x]; 
    $a->Save(); 
} 

但是似乎你不能做到這一點+ $ x位。我知道有一種解決方法,因爲我記得做了很久以前,但我沒有我的代碼在工作:/

任何想法傢伙?

回答

3

PHP使用.連接字符串,+用於添加數字;這與其他一些使用+的語言不同。可能混淆,但不太可能改變。

'title' + $x將嘗試添加零件,就像它們是數字一樣,必要時進行鑄造。

'title' . $x應該做你似乎在尋找的東西。

閱讀也:在PHP The Fine Manual

1

字符串連接使用操作.沒有+。例如:$_REQUEST['title' . $x];

0

您可以在HTML表單中使用相同的屬性名稱爲多張的投入,像這樣:

<input name="title[]" /> 
... 
<input name="title[]" /> 

,當在GET/POST提交給PHP腳本將作爲一個數組已經。

0

你可以試試這個:

$a = "first part"; 
$b = "second part"; 

$c = ${$a.$b}; 

或類似

$c = $_REQUEST[${$a.$b}]; 

反正你上心。