我有下面的代碼爲我的實體:當我的變量總是轉換爲2147483647 ......時,這意味着什麼?
/**
*
* @Entity
* @Table(name="group")
*
**/
Class Group {
/**
*
* @Column(type="string", nullable=true)
**/
private $phone;
(etc...)
__get($var) {
return $this->$var;
}
__set($var, $val){
$this->$var = $val;
}
我再嘗試用數超過九個位數較大修改此。例如,
$group->phone = 5147811326;
$ phone設置爲2147483647
。 1111111111
(傳達到2147483647
)
如果我嘗試514781
,它保持數字罰款。但超過9位數字只是轉換。我最初有一個整數的MySQL列,但將其轉換爲字符串...仍然是一個問題。
發生了什麼?!?? !!
我不太瞭解doctrine2,但2147483647看起來像2^31-1或有符號整數最大值。它的邏輯性,5147811326轉換爲,因爲它更大。 1111111111小於2147483647所以它的奇數.. –
我不知道wat doctrine2是,但我認識到你得到的數字是0x7FFFFFFF - 你可能會遇到某種數字溢出。 – Bevan
我想不出溢出問題。您試圖擠壓更多的數據,而不是適合您使用的變量的大小。 – Hyperbole