学习intval

klo*_*lox 0 php

你能告诉我它的功能是intval什么吗?那怎么样?

'.intval($_POST['bla']).'
Run Code Online (Sandbox Code Playgroud)

Mat*_*ell 6

为什么不直接阅读手册文章

intval - 获取变量的整数值

该页面中的这个表格给出了一个很好的例子:

echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
Run Code Online (Sandbox Code Playgroud)

  • 我认为人们的答案比手册更"用户友好" (3认同)
  • 大声笑 - 如果你谷歌'intval'</ sarcasm>,你表现得像是第一个结果 (2认同)

Jer*_*ten 5

这是一种防止SQL注入的简单方法.如果您的查询是这样的:

$sql = "DELETE FROM salads WHERE id = " . $_POST['salad_id'];
Run Code Online (Sandbox Code Playgroud)

然后,如果用户传入字符串"id"而不是实际的id,那么你的所有沙拉都将被删除!

但是如果你在它周围包装intval(),它会将任何不良修饰转换为整数零,并且不会影响沙拉.

$sql = "DELETE FROM salads WHERE id = " . intval($_POST['salad_id']);
Run Code Online (Sandbox Code Playgroud)

  • 反正我从不喜欢沙拉 (3认同)