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

PHP函数ob_star()的具体使用技巧分享

时间:2018-07-28 18:03:06 [来源]:郑州PHP培训学校

   PHP函数ob_star()的具体使用技巧分享

  PHP函数ob_star()是一个处理输出缓冲的函数,它的性能比其他哲理类功能的函数要高很多。下面我们就来看看它的优势体现在哪里。
  我们今天将要为大家介绍有关PHP函数ob_star()的具体使用方法,让大家从另一个角度来加深对PHP语言的了解,希望对大家有所帮助。
  在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出, 或者把这些函数的输出作为字符串来处理.
  这时我们就要用到PHP函数ob_star()了.
  处理输出缓冲的函数主要有这么几个:
  PHP函数ob_star()开始输出缓冲, 这时PHP停止输出, 在这以后的输出都被转到一个内部的缓冲里.
  ob_get_contents() 这个函数返回内部缓冲的内容. 这就等于把这些输出都变成了字符串.
  ob_get_ length() 返回内部缓冲的长度.
  ob_end_flush() 结束输出缓冲, 并输出缓冲里的内容. 在这以后的输出都是正常输出.
  ob_end_clean() 结束输出缓冲, 并扔掉缓冲里的内容.
  举个例子, var_dump()函数输出一个变量的结构和内容, 这在调试的时候很有用.
  但如果变量的内容里有 < , > 等HTML的特殊字符, 输出到网页里就看不见了. 怎么办呢?
  用PHP函数ob_star()能很容易的解决这个问题.
  ob_start();
  var_dump($var);
  $out = ob_get_contents();
  ob_end_clean();
  这时var_dump()的输出已经存在 $out 里了. 你可以现在就输出:
  echo '< pre>' . htmlspec
  ialchars($out) . '< /pre>' ;
  或者等到将来, 再或者把这个字符串送到模板(Template)里再输出。
  以上就是PHP函数ob_star()的功能优势对比。
  将php的数组按照字符串长短进行排序
  PHP数组按字符串长短排序对于初级PHP学员来说还不是非常熟悉。我们在接下来的文章中给出了具体的实现方法,仅供大家参考。
  如果想在PHP编程中对数组进行操作,可以用到有关的PHP数组函数来达到自己的需求。今天我们将为大家介绍的时候有关PHP数组按字符串长短排序的实现方法。
  需求分析:让搜索出结果中将相关度高(关键字所占比例大的结果排在前面)。比如你搜索“红”这个关键字,那么《红》这部动漫在结果中的排序就要大于《小红帽》,因为它的关键字比率大。于是就产生了一个特殊的需求,给出一个php的数组,内容都是字符串,需要按照字符串的长短重新进行一次排序。php提供的数组函数只能按照英文顺序这样的排序,于是google一下,发现了解决方案,就是使用PHP的自定义排序函数usort。
  bool usort ( array & $array ,
  callback $cmp_function )
  其实PHP数组按字符串长短排序的方法就像以前计算机课程学习的冒泡排序法,它接受两个参数,第一个是要排序的数组,第二个是回调函数,就是排序的条件。usort相当于一个递归,根据条件的返回值来判断是否将两个邻近的数组(如$a,$b)进行对调,达到了排序的目的。如果根据冒泡排序法,这个条件就是$a>$b这样的。那么如果是要根据字符串长短,那么就是strlen($a)-$strlen($b)这样的格式了。自己写callback函数,可以完成各种各样诡异的排序来。那么,CoCo现在的代码就可以这样写了:
  $aS = array('aaa', 'aa', 'aaaa', 'aaaaa');$F = create_function('$a, $b',
  'return(strLen($a) > strLen($b))');
  usort($aS, $F);
  希望通过以上介绍的PHP数组按字符串长短排序的实现方法,大家能够充分掌握这一技巧。
  如何正确实现PHP字符串转换为数值的需求
  PHP字符串转换为数值的方法不是很好掌握,其中的技巧很多。本文就为大家详细介绍了相关的实现方法,希望对大家有所帮助。
  PHP语言中的函数是一个庞大的功能强大的集合。我们需要掌握这些函数,灵活的运用才能编写出性能高的代码程序。我们今天就向大家介绍有关PHP字符串转换为数值的相关函数的使用方法。
  当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。
  如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。
  该值由字符串最前面的部分决定。飞飞,Asp技术乐园如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。飞飞Asp!技术乐园指数是一个“e”或者“E”后面跟着一个或多个数字。
  < ?php
  $foo = 1 + "10.5";
  // $foo is float (11.5)
  $foo = 1 + "-1.3e3";
  // $foo is float (-1299)
  $foo = 1 + "bob-1.3e3";
  // $foo is integer (1)
  $foo = 1 + "bob3";
  // $foo is integer (1)
  $foo = 1 + "10 Small Pigs";
  // $foo is integer (11)
  $foo = 4 + "10.2 Little Piggies";
  // $foo is float (14.2)
  $foo = "10.0 pigs " + 1;
  // $foo is float (11)
  $foo = "10.0 pigs " + 1.0;
  // $foo is float (11)
  ?>
  如果想测试本节中的任何PHP字符串转换为数值的例子,可以拷贝和粘贴这些例子并且加上下面这一行自己看看会发生什么< ?php
  echo "\$foo==$foo; type is " .
  gettype ($foo) . "< br />\n";
  ?>
  不要指望在将一个字符转换成整型时能够得到该字符的编码(可能也会在 C 中这么做)。如果希望在字符编码和字符之间实现PHP字符串转换为数值,请使用 ord() 和 chr() 函数。
 

上一篇:轻松掌握PHP逻辑运算符语法和使用技术

下一篇:探讨PHP表单重复提交的预防法则