多数大学生出来选择的工作和专业无关
首页 > 专业知识

高手教你PHP字符串截取函数使用

时间:2018-12-19 20:40:44 [来源]:郑州PHP培训学校

   高手教你PHP字符串截取函数使用

  PHP是很强大的语言,文章关于PHP字符串截取函数做出了详细的介绍,希望对大家有技术上的提高。
  学习PHP时,你可能会遇到PHP字符串截取问题,这里将介绍PHP字符串截取函数问题的解决方法,在这里拿出来和大家分享一下。PHP本身是一种简单而强大的语言。PHP语言拥有核心特性如强大的字符串和数组处理能力,同时极大的改进了对面向对象编程的支持(PHP5以上版本)。
  常见PHP数据库解决方案
  通过使用标准的和可选的扩展模块,PHP应用程序可以连接MySQL或Oracle等十几种数据库、绘图、创建PDF文件和创建解析XML文件。你也可以使用C语言来写自己的PHP扩展模块。例如,在已存在的代码库中提供一个PHP的接口函数。你也可以在Windows下运行PHP,使用COM控制其它诸如Word和Excel的Windows应用程序,或者使用ODBC来连接数据库。在国内,PHP曾经和微软的ASP并驾齐驱,是大家常用的网络编程语言。
  ASP3.0现在早已经被微软放弃了,不再更新,也许有人会认为:PHP应该也是个快作古的东西了吧?然而事实恰恰相反,PHP不仅在高速发展,把ASP远远抛在身后,而且渐渐成为现在互联网上使用最为广泛、最热门的语言。下面我们就一起利用PHP这门强大的语言解决这个问题吧。
  PHP字符串截取函数代码:
  <?php
  functionget_substr($string,$start='0',$length=''){
  $start=(int)$start;
  $length=(int)$length;
  $i=0;
  if(!$string)
  {
  return;
  }
  if($start>=0)
  {
  while($i<$start)
  {
  if(ord($string[$i])>127)
  {
  $i=$i+2;
  }
  else
  {
  $i++;
  }
  }
  $start=$i;
  if($length=='')
  {
  returnsubstr($string,$start);
  }
  elseif($length>0)
  {
  $end=$start+$length;
  while($i<$end)
  {
  if(ord($string[$i])>127)
  {
  $i=$i+2;
  }
  else
  {
  $i++;
  }
  }
  if($end!=$i-1)
  {
  $end=$i;
  }
  ?>
 
  浅析使用PHP逻辑运算符
  向 PHP 本身添加线程支持的试验已经做过多次。据我所知,没有一次是成功的。但是,Ajax 框架和 PHP/TK 的面向事件的实现表明事件可能比线程能更好地体现 PHP 的并发。PHP V5 证明事实确实如此。使用标准的 PHP V4 和更低版本,必须按顺序执行 PHP 应用程序的所有工作。例如,如果程序需要在两个商业站点检索商品的价格,则请求第一个站点的价格,等待至响应到达,再请求第二个站点的价格,然后再次等待。如果程序请求同时完成若干项任务会怎么样?总体来看,程序将在一段时间内完成,在这段时间内,将始终进行连续处理。
  第一个示例PHP线程新的 stream_select 函数及它的几个助手使这成为可能。请考虑以下示例。
  清单 1. 同时请求多个 HTTP 页面
  <?php
  echo "Program starts at ". date('h:i:s') . ".\n";$timeout=10;
  $result=array();
  $sockets=array();
  $convenient_read_block=8192;
  /* Issue all requests simultaneously; there's no blocking. */$delay=15;
  $id=0;
  while ($delay > 0) {
  $s=stream_socket_client("phaseit.net:80", $errno,$errstr, $timeout,
  STREAM_CLIENT_ASYNC_CONNECT|STREAM_CLIENT_CONNECT);if ($s) {
  $sockets[$id++]=$s;
  $http_message="GET /demonstration/delay?delay=" .
  $delay . " HTTP/1.0\r\nHost: phaseit.net\r\n\r\n";fwrite($s, $http_message);
  } else {
  echo "Stream " . $id . " failed to open correctly.";}
  $delay -= 3;
  }
  while (count($sockets)) {
  $read=$sockets;
  stream_select($read, $w=null, $e=null, $timeout);if (count($read)) {
  /* stream_select generally shuffles $read, so we need tocompute from which socket(s) we're reading. */foreach ($read as $r) {
  $id=array_search($r, $sockets);
  $data=fread($r, $convenient_read_block);
  /* A socket is readable either because it hasdata to read, OR because it's at EOF. */
  if (strlen($data) == 0) {
  echo "Stream " . $id . " closes at " . date('h:i:s') . ".\n";fclose($r);
  unset($sockets[$id]);
  } else {
  $result[$id] .= $data;
  }
  }
  } else {
  /* A time-out means that *all* streams have failedto receive a response. */
  echo "Time-out!\n";
  break;
  }
  }
  ?>
  如果运行此清单,您将看到如下所示的输出。
 
 
  简简单单掌握PHP命名规则
  文章这里详细的介绍了PHP命名规则类命名、方法和函数命名、缩写词不要全部使用大写字母几个方法,希望对大家有帮助。
  初学PHP时,你可能会遇到PHP命名问题,这里将介绍PHP命名规则,希望可以帮助大家,细心的朋友可以记下来留着作为以后的学习资料。
  1. PHP命名规则合适的命名
  命名是程序规划的核心。古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力量。只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。别笑! 名字就是事物在它所处的生态环境中一个长久而深远的结果。总的来说,只有了解系统的程序员才能为系统取出最合适的名字。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推想也能在意料之中。
  如果你发觉你的命名只有少量能和其对应事物相匹配的话, 最好还是重新好好再看看你的设计吧。
  2. PHP命名规则类命名
  在为类(class )命名前首先要知道它是什么。如果通过类名的提供的线索,你还是想不起这个类是什么的话,那么你的设计就还做的不够好。 超过三个词组成的混合名是容易造成系统各个实体间的混淆,再看看你的设计,尝试使用(CRC Session card)看看该命名所对应的实体是否有着那么多的功用。 对于派生类的命名应该避免带其父类名的诱惑,一个类的名字只与它自身有关,和它的父类叫什么无关。 有时后缀名是有用的,例如:如果你的系统使用了代理(agent ),那么就把某个部件命名为“下载代理”(DownloadAgent)用以真正的传送信息。
  3. PHP命名规则方法和函数命名
  通常每个方法和函数都是执行一个动作的,所以对它们的命名应该清楚的说明它们是做什么的:用CheckForErrors()代替 ErrorCheck(),用DumpDataToFile()代替DataFile()。这么做也可以使功能和数据成为更可区分的物体。
  有时后缀名是有用的:
  ◆Max - 含义为某实体所能赋予的最大值。
  ◆Cnt - 一个运行中的计数变量的当前值。
  ◆Key - 键值。
  例如:RetryMax 表示最多重试次数,RetryCnt 表示当前重试次数。
  有时前缀名是有用的:
  ◆Is - 含义为问一个关于某样事物的问题。无论何时,当人们看到Is就会知道这是一个问题。
  ◆Get - 含义为取得一个数值。
  ◆Set - 含义为设定一个数值
 

上一篇:PHP获取字段长度相关函数使用技巧

下一篇:PHP软件基本的语法有哪些