2015-10-01 2 views
0

я пытаюсь создать переключатель:печать переключатель с многомерным массивом в PHP

$turn= array(
'attr' => array('nameid' => 'turn',), 
'0 - 499', 
'500 - 1499', 
'1500 - 3499', 
'3500 - 12999', 
'13000 - 17999', 
'18000 - 23999', 
'24000 - 40000', 
); 

function createSelectBox($array) { 
    $out = "<select id=" . $array['attr']['nameid'] . " name=" .$array['attr']['nameid']">"; 
    $out .= "<option class='choose' >Choose...</option>"; 
     for ($idx = 0; $idx < sizeof($array) - 1; $idx++) { 
      $out .= "<option value=" . $array[$idx] . ">" . $array[$idx] . "</option>"; 
     } 
    $out .= '</select>'; 
    return $out; 
} 

Проблема в том, что он будет генерировать «value'-атрибут в моей опционной теге так:

<option value="0" 499>0 - 499</option> 

Функция can not обрабатывает пробел в моем массиве.

+0

Только не устанавливайте поле значения. Если вы этого не сделаете, он использует текст. – Styphon

ответ

0

Используйте этот

function createSelectBox($array) { 
     $out = '<select id='.$array['attr']['nameid'].' name='.$array['attr']['nameid'].'>'; 
     $out .= '<option class="choose" >Choose...</option>'; 
      for ($idx = 0; $idx < sizeof($array) - 1; $idx++) { 
       $out .= '<option value="'.$array[$idx].'">' . $array[$idx] . '</option>'; 
      } 
     $out .= '</select>'; 
     return $out; 
    } 
0

Ваше значение являются строками вы лечащие их как целые числа. попробуй.

<?php 
    $turn= array(
    'attr' => array('nameid' => 'turn',), 
    '0 - 499', 
    '500 - 1499', 
    '1500 - 3499', 
    '3500 - 12999', 
    '13000 - 17999', 
    '18000 - 23999', 
    '24000 - 40000', 
    ); 

    function createSelectBox($array) { 
     $out = "<select id=" . $array['attr']['nameid'] . " name=" .$array['attr']['nameid'] . ">"; 
     $out .= "<option class='choose' >Choose...</option>"; 
      for ($idx = 0; $idx < sizeof($array) - 1; $idx++) { 
       $out .= "<option value='" . $array[$idx] . "'>" . $array[$idx] . "</option>"; 
      } 
     $out .= '</select>'; 
     return $out; 
    } 
    echo createSelectBox($turn); 
    ?> 
Смежные вопросы