我有一个特殊的情况,我需要将变量分成两部分 [sign] 和 [number]
所以我可以有以下整数(这不是一个序列,我一次只能有 1 个整数):
-15,...,-1,0,1,...,15
当有减号时,我需要将其拆分为 [-] 部分和 [integer] 部分,当没有符号时,我需要 [+] 和 [integer]
我该怎么做?
我正在考虑将explode与explode(“-”一起使用,但如果没有减号它会给出错误......任何简单的方法来实现我想要的而不是编写多个if函数?
我有一个特殊的情况,我需要将变量分成两部分 [sign] 和 [number]
所以我可以有以下整数(这不是一个序列,我一次只能有 1 个整数):
-15,...,-1,0,1,...,15
当有减号时,我需要将其拆分为 [-] 部分和 [integer] 部分,当没有符号时,我需要 [+] 和 [integer]
我该怎么做?
我正在考虑将explode与explode(“-”一起使用,但如果没有减号它会给出错误......任何简单的方法来实现我想要的而不是编写多个if函数?
$ints = '-1,2,-3,4,-5,6';
$signed_ints = explode(',', $ints);
foreach ($signed_ints as &$int) {
if (intval($int) >= 0) {
$int = '+' . $int;
}
}
对于单个integer
,您可以执行以下操作:
$singlevalue = -15;
$singlesplit = array('value' => abs($singlevalue));
if($singlevalue < 0)
$singlesplit['sign'] = '-';
else
$singlesplit['sign'] = '+';
print_r($singlesplit);
这给出了输出:
Array
(
[value] => 15
[sign] => -
)
如果要删除值的符号,此处的abs很重要。
此外,如果您将值作为字符串接收,只需使用intval
$singlevalue = intval($stringValue);