php字符串提取问题

时间:2011-04-11 06:52:04

标签: php arrays string

我有一个包含值的字符串,即

'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 个答案:

答案 0 :(得分:2)

$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 :(得分:1)

$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>";
}

答案 2 :(得分:1)

工作代码: -

<?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>

希望这有帮助。