كيفية STR_PAD هذا شهر اختيار شهر PHP
سؤال
يحتاج إلى مبطن لهذا: str_pad (شهر $، 2، "0"، str_pad_left) ولكن كيف / أين ؟؟؟
/*******creates the month selection dropdown array****/
function createMonths($id='month_select', $selected=null)
{
/*** array of months ***/
$months = array(
1=>'Jan',
2=>'Feb',
3=>'Mar',
4=>'Apr',
5=>'May',
6=>'Jun',
7=>'Jul',
8=>'Aug',
9=>'Sep',
10=>'Oct',
11=>'Nov',
12=>'Dec');
/*** current month ***/
$selected = is_null($selected) ? date('m') : $selected;
$select = '<select name="'.$id.'" id="'.$id.'">'."\n";
foreach($months as $key=>$mon)
{
$select .= "<option value=\"$key\"";
$select .= ($key==$selected) ? ' selected="selected"' : '';
$select .= ">$mon</option>\n";
}
$select .= '</select>';
return $select;
}
/********displays the month selection with current month selected/*******</br>
echo createMonths('Month', date ('m'));
/******DISPLAYS MONTH AS (4) INSTEAD OF REQUIRED (O4) --- @:( /*****</br>
echo $_POST['Month'];
المحلول
حسنا، على افتراض أنها القيمة التي تريد أن تكون مبطنة، فهي هنا:
$select .= "<option value=\"$key\"";
يصبح
$select .= '<option value="'.str_pad($key, 2, "0", STR_PAD_LEFT).'"';
هذا يفترض أنك لا تريد أنه مبطن عندما تقوم بالتحقق من $selected
, ، إذا قمت بذلك، فأنت بحاجة إلى القيام بذلك في بداية الحلقة، والكتابة فوق القيمة في $key
, ، ثم يمكنك استخدام التعليمات البرمجية الأصلية، مثل ذلك:
foreach($months as $key=>$mon)
{
$key = str_pad($key, 2, "0", STR_PAD_LEFT);
$select .= "<option value=\"$key\"";
$select .= ($key==$selected) ? ' selected="selected"' : '';
$select .= ">$mon</option>\n";
}
لا تنتمي إلى StackOverflow