我必须在一个名为 $id 的数字字符串中传递 3 个变量(int)。为此,我使用填充创建 $id ,然后我可以分解以获取变量。它必须是数字,否则我会在变量之间使用下划线。我使用十一个零作为填充,因为我知道变量不会有那么多零。所以目前如果我有:
$int_one = 1;
$int_two = 2;
$int_three = 3;
那将是:
$id = "1000000000002000000000003";
要创建我使用的新 ID:
$id = $int_one . "00000000000" . $int_two . "00000000000" . $int_three;
并将我使用的 ID 分开:
$int_one = 0;
$int_two = 0;
$int_three = 0;
if (strpos($id,"00000000000") !== false) {
$id = strrev($id); // Reversed so 0's in int's don't get counted
$id = explode("00000000000", $id);
// Set numbers back the right way
$int_one = strrev($id[2]);
$int_two = strrev($id[1]);
$int_three = strrev($id[0]);
}
当单个变量为 0 时,这会遇到问题。有没有办法克服这个问题,还是需要重新考虑?
编辑: $id
应该是一个数字字符串而不是 int
需要处理 0 - 2147483647 之间的 int 变量