Ich möchte die Ziffern aus einer Zeichenfolge extrahieren, die Zahlen und Buchstaben enthält:
"In My Cart : 11 items"
Ich möchte die Nummer extrahieren 11
.
Ich möchte die Ziffern aus einer Zeichenfolge extrahieren, die Zahlen und Buchstaben enthält:
"In My Cart : 11 items"
Ich möchte die Nummer extrahieren 11
.
Folgen Sie diesem Schritt, um eine Zeichenkette in eine Zahl umzuwandeln
$value = '$0025.123';
$onlyNumeric = filter_var($value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
settype($onlyNumeric,"float");
$result=($onlyNumeric+100);
echo $result;
Eine andere Möglichkeit ist es:
$res = preg_replace("/[^0-9.]/", "", "$15645623.095605659");
Andere Weise (Unicode-String sogar):
$res = array();
$str = 'test 1234 555 2.7 string ..... 2.2 3.3';
$str = preg_replace("/[^0-9\.]/", " ", $str);
$str = trim(preg_replace('/\s+/u', ' ', $str));
$arr = explode(' ', $str);
for ($i = 0; $i < count($arr); $i++) {
if (is_numeric($arr[$i])) {
$res[] = $arr[$i];
}
}
print_r($res); //Array ( [0] => 1234 [1] => 555 [2] => 2.7 [3] => 2.2 [4] => 3.3 )
Je nach Anwendungsfall könnte dies auch eine Option sein:
$str = 'In My Cart : 11 items';
$num = '';
for ($i = 0; $i < strlen($str); $i++) {
if (is_numeric($str[$i])) {
$num .= $str[$i];
}
}
echo $num; // 11
Obwohl ich zustimmen würde, dass ein Regex oder filter_var()
wäre in dem genannten Fall sinnvoller.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.