0

特殊な状況があります。変数を[符号]と[数値]の2つの部分に分割する必要があります。

したがって、次の整数を持つことができます(これはシーケンスではなく、一度に1つの整数しか持つことができません):

-15,...,-1,0,1,...,15

マイナス記号がある場合は[-]部分と[整数]部分に分割する必要があります記号がない場合は[+]と[整数]が必要です

どうすればいいですか?

explode( "-"でexplodeを使用することを考えていましたが、マイナス記号がない場合はエラーが発生します...複数のif関数を記述する代わりに、目的を達成する簡単な方法はありますか?

4

2 に答える 2

1
$ints = '-1,2,-3,4,-5,6';
$signed_ints = explode(',', $ints);
foreach ($signed_ints as &$int) {
  if (intval($int) >= 0) {
    $int = '+' . $int;
  }
}
于 2012-12-15T18:39:13.480 に答える
1

単一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);
于 2012-12-15T18:42:55.470 に答える