проблема извлечения строки php - PullRequest
1 голос
/ 11 апреля 2011

У меня есть строка, содержащая значения, т.е.

'Acton $ 80 Ajax $ 80 Aldershot $ 80 Alliston $ 115 Alton $ 80 Aldershot $ 84 Alexandria $ 674'

Я хочу сделать:

<option value='80'> Acton </option>
<option value='80'> Ajax </option>

... и так далее. Как мне это сделать, используя PHP?

Ответы [ 3 ]

2 голосов
/ 11 апреля 2011
$str = 'Acton $ 80 Ajax $ 80 Aldershot $ 80 Alliston $ 115 Alton $ 80 Aldershot $ 84 Alexandria $ 674';
$arr = explode(" ", $str);
for($i = 0; $i < count($arr)/3; $i+=3)
    echo "<option value='".$arr[$i]."'>".$arr[$i+2]."</option>\n";

Попробуйте взорвать функцию.Однако этот код не обрабатывает ввод ошибок.

1 голос
/ 11 апреля 2011

Рабочий код: -

<?php
$str = 'Acton $ 80 Ajax $ 80 Aldershot $ 80 Alliston $ 115 Alton $ 80 Aldershot $ 84 Alexandria $ 674';
$arr = explode(" ", $str);
?>
<select>
    <?php 
    $i = 0;
    foreach($arr as $key=>$value) {
        if($i == $key) {
            ?>
            <option value="<?php echo $arr[$i+2] ?>"><?php echo $arr[$i] ?></option>
            <?php
            $i = $key+3;
        }       
    }
    ?>
</select>

Надеюсь, это поможет.

1 голос
/ 11 апреля 2011
$tmp = explode(' ', $string);

$result = '';
while (!empty($tmp)) {
  $name = array_shift($tmp);
  $dollarSign = array_shift($tmp);
  $value = array_shift($tmp);

  $result .= "<option value='$value'>$name</option>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...