我有一个数组通过我的PHP页面的标题发送,并且将ID作为值的键。
当我这样做时:
echo ($id);
我得到:
"'1234'"
我试图将此$ id发送到我的mysqli准备语句中,该语句将$ id作为整数。当我尝试使用以下方法转换该值时:
(int) $id;
或
intval($id);
我得到0作为整数。不使用正则表达式如何获取此字符串的整数?
答案 0 :(得分:1)
不知道为什么会有单引号,但是您可以删掉它们。我认为这是您尝试将其转换为int时得到零的原因。
index col1 col2 col3
0 3 8 np.nan
1 2 2 np.nan
2 2 np.nan np.nan
3 np.nan 1 1
4 np.nan 6 6
5 1 0 7
6 2 1 1
7 6 5 1
8 np.nan 1 np.nan
9 np.nan 6 1
10 1 6 3
11 6 3 4
此外,我不确定双引号是否实际上是回显输出的一部分,或者您是否只是在问题中将其引用了,但是如果它们都在其中,则可以将两者都删掉。
trim($id, "'");
如果我是您,我会退后一步,弄清楚引号为什么是ID的一部分,并使其一开始就不会发生(如果可能)。
答案 1 :(得分:-1)
您可以使用正则表达式[0-9] +模式
$str="'1234'";
preg_match_all('/[0-9]+/', $str, $matches);
print_r($matches);