2014-12-03 110 views
-1

在串數字,所以我有這個字符串:操縱使用PHP

100.25 $ -500 $

我想修改的數值,然後將其放回字符串。因此,例如,我希望能夠取出每個浮點值,將其操作前(100.25 * 10)和(500 * 2),並將其重新放回(1000.25 $ -1000 $)中。它必須是靈活的,因爲美元符號也可以在另一邊。

在此先感謝。

preg_match_all('/\d+/', $str, $matches); 
echo $matches[0]; 
+3

因爲我們還沒有作出了努力,自行解決問題,其量,看起來你正在尋找[聘請自由職業者爲你做你的工作](http://www.freelancer.com)。 StackOverflow不是,也從未成爲「給我teh codez」網站。我們幫助 - 我們不是您的免費勞力。如果你 - 事實上 - 自己已經努力了,你需要發佈你的代碼。 – h2ooooooo 2014-12-03 20:32:10

回答

0

我可以建議該功能

$correctionArr = array(10, 2); 

echo changeString('100.25$-500$', $correctionArr); 

function changeString($str, $correct){ 
    $array = explode('-', $str); 
    if(count($array) > 0){ 
     foreach ($array as $key => $amount) { 
      if(isset($correct[$key])){ 
       $return[] = (float)$amount * $correct[$key] . '$'; 
      } 
      else $return[] = $amount; 
     } 

    } 
    return implode('-', $return); 
} 

在校陣列($ correctionArr),你可以設置你要操縱

+0

非常感謝你!!!!!!!!!!!!!!! – jmanjam321 2014-12-04 15:27:56

0

使用正則表達式(https://regex101.com/)這個(http://ideone.com/3JvnCZ

<?php 

$re = "/[\\d.]+/"; 
$str = "100.25$-500$"; 

preg_match_all($re, $str, $matches); 

var_dump($matches); 

echo ($matches[0][1] * 10) . "$-" . ($matches[0][1] * 2) . "$"; 

PS:你之前有一個變量值這個(POST,GET,JSON等)?