PHP将字符串(1234)转换为整数

时间:2017-04-05 16:05:10

标签: php string

因此在php $a = 1234;$a = (1234);都是有效的整数,1234。

我遇到一些第三方代码,我有$a = "(1234)";(即一个字符串)

正常转换字符串到int不起作用(因为括号)

<?php
$b = (int) $a; // 0
$b = intval($a); // 0

我可以做类似

的事情
preg_match('/^\(([\d]+)\)$/', $a, $m);
$b = $m[1];

只是想知道是否有一些巧妙的方法将$ a转换回我错过的整数?

2 个答案:

答案 0 :(得分:3)

另外一个选项可以是

$str = "(1234)";

$int = (int) trim($str, '()');

答案 1 :(得分:0)

这将确保如果()使其成为负数。

$a = '1234';

if (0 !== preg_match('/^\((\d+\))$/', $a, $matches)) {
    $b = (int)-$matches[1];
} else {
    $b = (int)$a;
}