php删除字符串最后一个字符程序代码

 更新时间:2016年11月25日 15:06  点击:2152
这个算是最简单的php入门教程了,我们只要知道几个常用的函数就可以实现删除字符串最后一个字符了,如果substr,rtrim等。


原字符串1,2,3,4,5,6,
去掉最后一个字符",",最终结果为1,2,3,4,5,6
代码如下:

 代码如下 复制代码

 $str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;  //echo 1,2,3,4,5,6

 

系统自带的函数即可实现这样的效果,两种方法:

1) substr($str, 0, -1)

2)rtrim($str, ",")

上面的实例只讲述了利用php自身的函数,我们还可以利用很多的方法来实现了,这里就不说多了最基本的php入门教程大可参考一下。

在php中要把时间日期转换成时间戳(转换成毫秒)我们有很多方法,最简单的就是利用time()直接获取的是毫秒如果是如2012-05-31这样的话,有要用其它方法了。

mktime()函数对计算日期和确认日期有效性来说是非常有用的。它将自动为超过范围以外的输入计算正确的值:

 代码如下 复制代码

<?php echo(date("M-d-Y",mktime(0,0,0,12,36,2001))."<br />");
echo(date("M-d-Y",mktime(0,0,0,14,1,2001))."<br />");
echo(date("M-d-Y",mktime(0,0,0,1,1,2001))."<br />");
echo(date("M-d-Y",mktime(0,0,0,1,1,99))."<br />");?>

The output of the code above would be:
上述代码将输出下面的结果:

Jan-05-2002Feb-01-2002Jan-01-2001Jan-01-1999 不用多解释了吧!

 代码如下 复制代码

$now = mktime(0,0,0,date("m"),date("d"),date("Y"));
echo "now is ".date("Y/m/d", $now);

显示结果:
now is 2012/05/30
显然这不是我想要的结果。
于是,按照旧有的思维,我想当然的改造成下面这个形式:

 代码如下 复制代码

$now = mktime(date("h"),date("M"),date("s"),date("m"),date("d"),date("Y"));
echo "now is ".date("Y/M/d h:i:s", $now);

注意红色的部分,通常如果月份用m,那么分钟就应该是M。或者前者用M,后者用m。
显示结果:

Warning: mktime() expects parameter 2 to be long, string given in D:usrwebroottestPHPindex.php on line 46
now is 1970/01/01 08:Jan:00

看来主观臆断是不可取的,PHP的语法和其他的语言还是有些区别的。

不卖关子了,还是直接给大家正确的答案

 代码如下 复制代码

$now = mktime(date("h"),date("i"),date("s"),date("m"),date("d"),date("Y"));
echo "now is ".date("Y/m/d h:i:s", $now);

哈哈~是“i”而不是什么m或者M,这里给出大家这个示例只是想让PHP的初学少走一些弯路。
至于M是什么意思,大家自己做一下就明白了...嘿嘿!!!
显示结果:

 代码如下 复制代码

now is 2012/05/30 04:54:25

好了,

mktime() 函数返回一个日期的 Unix 时间戳。

参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。

参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。

语法

mktime(hour,minute,second,month,day,year,is_dst)

参数 描述
hour 可选。规定小时。
minute 可选。规定分钟。
second 可选。规定秒。
month 可选。规定用数字表示的月。
day 可选。规定天。
year 可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。
is_dst

可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。

自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。

本文章来介绍一篇关于thinkphp开启调试模式取消生成缓存,有需要了解的朋友可以参考一下本文章。

最近回到thinkphp  发现以前老版本的关闭缓存说的common这个里面的那两个关闭缓存的文件不见了。找了很长时间不知道怎么回事。

于是去看手册,看百度。 后来发现,可以开启调试模式来关闭缓存,而且开启调试模式对程序员来说还有很多好处的哦..

 

在thinkphp3.0完全开发手册里面搜调试两个字,你回发现很多技巧。下面是开启调试功能的步骤

 

虽然编译缓存很优秀,但是并不利于开发阶段中调试和排错,我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式,方便及时发现隐患问题和分析、解决问题。开启调试模式很简单,只需要在入口文件中增加一行常量定义代码:

我的index.php里面的代码分享给你:

 代码如下 复制代码

<?php
 require './ThinkPHP/ThinkPHP.php';
 define('APP_DEBUG',1);
?>


在完成开发阶段部署到生产环境后,只需要删除调试模式定义代码即可切换到部署模式。


开启调试模式后,系统会首先加载系统默认的调试配置文件,然后加载项目的调试配置文件,调试模式的优势在于:


²  开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;


²  关闭模板缓存,模板修改可以即时生效;


²  记录SQL日志,方便分析SQL;


²  关闭字段缓存,数据表字段修改不受缓存影响;


²  严格检查文件大小写(即使是Windows平台),帮助你提前发现Linux部署问题;


² 
可以方便用于开发过程的不同阶段,包括开发、测试和演示等任何需要的情况,不同的应用模式可以配置独立的项目配置文件;


关于调试模式的更多用法,我们会在后面进行更详细的讲解。

 

在php中要删除字符空间有很多的方法可用,我来介绍利用mb_ereg_replace()和ltrim,rtrim,trim这三个函数的处理方法。

实例

 代码如下 复制代码

<?
$str="     网页制作教程 www.111cn.net     ";
$str = mb_ereg_replace('^( | )+', '', $str);
$str = mb_ereg_replace('( | )+$', '', $str);
echo mb_ereg_replace('  ', "n  ", $str);
?>

有些朋友可能对mb_ereg_replace()没看明白,下面我们来介绍一下mb_ereg_replace这个函数吧

mb_ereg_replace()我们只要注意前面的mb就好了,有些朋友用过字符转换的一看就明白了这个函数是支持中文。

有些朋友会问php不是有自己的函数么,下面我们看实例

实例

 代码如下 复制代码

<?php
$str=" 去除前后空格 ";
echo "方括号中为原始字符串:[".$str."]<br>";
echo "原始字符串长度:".strlen($str)."<br>";
$str1=ltrim($str);
echo "执行ltrim()之后的长度:".strlen($str1)."<br>";
$str2=rtrim($str);
echo "执行rtrim()之后的长度:".strlen($str2)."<br>";
$str3=trim($str);
echo "执行trim()之后的长度:".strlen($str3)."<br>";
echo "去掉首尾空格之后的字符串:[".$str3."]";
?>

总结:同一个问题会有多种解决方法,就像我们删除字符空格一样,可以用两种不同的方法达到想同的效果了。

在字符查找时在php中为我们提供了三个函数 strstr、stristr、strpos,它们三个的用法有点区别下面我们来一下介绍相关函数。

语法:
string strstr ( string haystack, string needle)
返回haystack中从needle开始到结束的字符串.
如果没有返回值,即没有发现needle,则返回FALSE
 
注: 这个函数是大小写敏感的。

实例1

 代码如下 复制代码

$city_str=fopen(cgi_path."/data/weather/city.dat","r");
$city_ch=fread($city_str,filesize(cgi_path."/data/weather/city.dat"));
$city_ch_arr=explode("|",$city_ch);
//如果能匹配到所在市
if(strstr($area_ga,"市")){
foreach($city_ch_arr as $city_ch_arr_item){
  if(@strstr($area_ga,$city_ch_arr_item)){
   echo $area_ga.'<br>';
   echo $city_ch_arr_item;
   $s_city=$city_ch_arr_item;
  }
}
}//如果找不到市 那么看看是不是能找到省 有时会有这样的情况:广东省长城宽带 这样的一律归属到该省省府
elseif(strstr($area_ga,"河北")!==false){
$s_city="石家庄";
}

city.dat中是一些城市 格式是这样的
广州|深圳|汕头|惠州

更多详细内容请查看:http://www.111cn.net/phper/18/8304359e6918876b45d02c200bc8f193.htm

 stristr() 函数查找字符串在另一个字符串中第一次出现的位置。

如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。

 代码如下 复制代码

<?php
 echo stristr("Hello world!","WORLD");
?>
输出:

world!

 

strpos介绍

相对于前两者查找成功后返回的是字符,strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。

strpos的性能比较好,如果只是判断needle是否在字符串haystack中,则使用strpos较好,它将占用更少的内存和获得更快的执行速度。但是strpos对特殊字符支持不好,比如对中文就不能很好支持


例子

 代码如下 复制代码

<?php
echo strpos("Hello world!","wo");
?>

输出:

6

注释:该函数对大小写敏感。如需进行对大小写不敏感的搜索,请使用 stripos() 函数。


结合上面实例我们得出结论

strstr 区别大小写,从字符开始找如果有返回true否则就返回false
stristr 字符不区别大小写,从字符开始找如果有返回true否则就返回false
strpos 区别大小写strpos查找成功后则是返回的是位置。因为位置有可能是0,所以判断查找失败使用===false更合适。

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • c#中判断字符串是不是数字或字母的方法

    这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
  • PostgreSQL判断字符串是否包含目标字符串的多种方法

    这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • 不打开网页直接查看网站的源代码

      有一种方法,可以不打开网站而直接查看到这个网站的源代码..   这样可以有效地防止误入恶意网站...   在浏览器地址栏输入:   view-source:http://...2016-09-20
  • php 调用goolge地图代码

    <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
  • php字符串按照单词逐个进行反转的方法

    本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
  • JS基于Mootools实现的个性菜单效果代码

    本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
  • JS+CSS实现分类动态选择及移动功能效果代码

    本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
  • JS实现自定义简单网页软键盘效果代码

    本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
  • php 取除连续空格与换行代码

    php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
  • php简单用户登陆程序代码

    php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p>&nbsp;</p> <p>&nbsp;</p> <form name="form1...2016-11-25
  • PHP实现清除wordpress里恶意代码

    公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • 使用list stream: 任意对象List拼接字符串

    这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
  • JS实现双击屏幕滚动效果代码

    本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
  • C# 16 进制字符串转 int的方法

    这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • js识别uc浏览器的代码

    其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08