我有一个从数据库中提取信息的会话
<?php session_start(); echo $_SESSION['id']; ?>
我想在网页中显示此ID的“较短”版本作为“短ID”。 id是16位数我想只显示前4位数。
我试过
<?php session_start(); echo $_SESSION['id']-12; ?>
但它只给了我一个奇怪的数字:
5.3830822562889E+15
原始ID为:5383082256288945
所以我想要显示:5383
答案 0 :(得分:4)
您应该使用substr
<?php session_start(); echo substr($_SESSION['id'], 0, 4); ?>
答案 1 :(得分:3)
在php中使用substr
函数。第二个参数是起始索引,如果是负数,则从结尾开始计数,第二个参数是你需要的子字符串的长度。
echo substr('5383082256288945', 0, 4);
为您提供5383
。
请参阅此处了解文档:PHP Substring Manual
在你的情况下:
<?php session_start();
$id=substr($_SESSION['id'],0,4);
echo $id;
?>
来自PHP文档:
<?php
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
// Accessing single characters in a string
// can also be achieved using "square brackets"
$string = 'abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>
答案 2 :(得分:1)
$id=5383082256288945;
$rest = substr($id, 0, 4);
echo $rest;
查看substr了解详情。