【发布时间】:2011-08-01 22:26:55
【问题描述】:
有没有办法在 php 中将我的数字显式存储为 tinyint(1 字节而不是 4)。
或者我只能通过将它们 4 x 4 存储在 int 中来强制执行此操作吗? (使用一些二元运算)
我通过使用 str_split 分解字符串并通过 unpack('C', ..) 将这些字节解释为整数来生成这些值。 目前我将这些值作为单个整数存储在一个数组中,但如果我能以某种方式将它们存储为 tinyints,它可以节省大量空间。
【问题讨论】:
-
TINYINT 是一种 SQL 数据类型 - php 没有类型。但是,您可以使用 (int)$x 或 intval($x) 强制类型
-
我有点困惑。标题说“(...) in php”,但您却在谈论存储数据。你想有一个tinyint in php,还是你想把一个tinyint 保存到一个数据库from php?
-
我想在 php.ini 中使用它。假设我可以在 php 中强制执行类型,我会创建一个数组并用 tinyints 填充它。
-
我想我可以再次将我的整数转换为 1 个符号字符串。但这会使它们难以访问,而且我不知道 1 个符号字符串是否实际上在内部存储为 1 位数据。
-
@theHampster 你说 php 没有类型,但我可以将类型强制到变量上?所以在内部它使用类型对吗?我只是希望我的整数在内部存储为 1 个字节,而不是当前的 4 个(整数)。