You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
1.4 KiB
92 lines
1.4 KiB
2 years ago
|
package php_serialize
|
||
|
|
||
|
import (
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
func PhpValueString(p PhpValue) (res string) {
|
||
|
res, _ = p.(string)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func PhpValueBool(p PhpValue) (res bool) {
|
||
|
switch v := p.(type) {
|
||
|
case bool:
|
||
|
res = v
|
||
|
case string:
|
||
|
res, _ = strconv.ParseBool(v)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func PhpValueInt(p PhpValue) (res int) {
|
||
|
switch intVal := p.(type) {
|
||
|
case int:
|
||
|
res = intVal
|
||
|
case int8:
|
||
|
res = int(intVal)
|
||
|
case int16:
|
||
|
res = int(intVal)
|
||
|
case int32:
|
||
|
res = int(intVal)
|
||
|
case int64:
|
||
|
res = int(intVal)
|
||
|
case uint:
|
||
|
res = int(intVal)
|
||
|
case uint8:
|
||
|
res = int(intVal)
|
||
|
case uint16:
|
||
|
res = int(intVal)
|
||
|
case uint32:
|
||
|
res = int(intVal)
|
||
|
case uint64:
|
||
|
res = int(intVal)
|
||
|
case string:
|
||
|
str, _ := p.(string)
|
||
|
res, _ = strconv.Atoi(str)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func PhpValueInt64(p PhpValue) (res int64) {
|
||
|
switch v := p.(type) {
|
||
|
case int64:
|
||
|
res = v
|
||
|
default:
|
||
|
res = int64(PhpValueInt(v))
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func PhpValueUInt(p PhpValue) (res uint) {
|
||
|
switch v := p.(type) {
|
||
|
case uint:
|
||
|
res = v
|
||
|
default:
|
||
|
res = uint(PhpValueInt(v))
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func PhpValueUInt64(p PhpValue) (res uint64) {
|
||
|
switch v := p.(type) {
|
||
|
case uint64:
|
||
|
res = v
|
||
|
default:
|
||
|
res = uint64(PhpValueInt(v))
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
func PhpValueFloat64(p PhpValue) (res float64) {
|
||
|
switch v := p.(type) {
|
||
|
case float64:
|
||
|
res = v
|
||
|
case string:
|
||
|
res, _ = strconv.ParseFloat(v, 64)
|
||
|
default:
|
||
|
return float64(PhpValueInt(p))
|
||
|
}
|
||
|
return
|
||
|
}
|