显示mysql表中id列的前4位数字

时间:2013-06-09 06:08:58

标签: php

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

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

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

我试过

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

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

5.3830822562889E+15

原始ID为:5383082256288945所以我想要显示:5383

3 个答案:

答案 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了解详情。