我想從數組創建一些輸入字段。 我有這樣根據數組大小改進動態輸入字段創建php
$info = array("one" => "one1",
"two" => "two2",
"three" => "three3"
);
foreach ($info as $key => $value){
$field.= "<div class='formcol form-left middle'> \n";
$field.= " <input type='text' id='".$key."' size='12' name='".$key."' style='width:".$tam."px;'/>\n";
$field.= "\t\t\t <div class='text'>".$value."</div>\n";
$field.= "\t\t </div> \n";
}
一個數組,它的工作很不錯,但是如果數組的大小爲6 像
$info = array( "one" => "one1",
"two" => "two2",
"three" => "three3",
"four" => "four4",
"five" => "five5",
"six" => "six6"
);
我竟被想改變我要創建第一個代碼創建一個「div」,然後創建其他「div」與最後3個值,我將始終mod 3 = 0值,但問題是創建一個新的div每3使用值
如何改進代碼? 我想這樣
$size = sizeof($info);
foreach ($info as $key => $value){
//if ($size % 3 ==0)
$field.= "<div class='formcol form-left middle'> \n";
//else
// {
$field.= " <input type='text' id='".$key."' size='12' name='".$key."' style='width:".$tam."px;'/>\n";
$field.= "\t\t\t <div class='text'>".$value."</div>\n";
// }
//if ($size % 3 ==0)
$field.= "\t\t </div> \n";
}
所以對於0,1,2這是一個新的div,那麼3,4,5是新的div等 是否做到這一點最好的形式給出?
只是想知道,你爲什麼要費心去輸出標籤?你的方法對我來說很好。你可以在循環外計算'$ size%3 == 0'(只需將它存儲在一個變量中)以減少重複代碼,更重要的是,可以節省一點時間。 – sgroves
這是因爲一個CSS有這個具體的事情,只是使用PHP來保持一個接一個地填充他們的一些繁瑣的工作 – cMinor
'我想改變代碼我必須創建前3個數組的值創建一個「div」,然後用最後3個值創建其他「div」,最後你創建6個div,爲什麼你需要%3? – 2013-08-01 19:01:25