2

我有一个从数据库中提取信息的会话

<?php session_start(); echo $_SESSION['id']; ?>

我想在网页中显示此 id 的“较短”版本作为“短 id”。id 是 16 位长我只想显示前 4 位数字。

我试过

<?php session_start(); echo $_SESSION['id']-12; ?>

但它只给了我一个像这样的奇怪数字:

5.3830822562889E+15

原来的 id 是:5383082256288945所以我想显示:5383

4

3 回答 3

4

你应该使用substr

<?php session_start(); echo substr($_SESSION['id'], 0, 4); ?>
于 2013-06-09T06:14:23.500 回答
3

substr在php中使用函数。第二个参数是起始索引,如果是负数则从末尾开始计数,第二个参数是你需要的子字符串的长度。

echo substr('5383082256288945', 0, 4);给你5383

有关文档,请参见此处:PHP 子字符串手册

在你的情况下:

<?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

?>
于 2013-06-09T06:12:53.537 回答
1
$id=5383082256288945;
$rest = substr($id, 0, 4);
echo $rest;

检查substr以获取更多信息。

于 2013-06-09T06:14:20.057 回答