首页 > 后端开发 > 正文

系统提供的字符串的函数有哪些?

2024-08-17 08:16:28 | 我爱编程网

最近经常有小伙伴私信询问系统提供的字符串的函数有哪些?相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

系统提供的字符串的函数有哪些?

系统提供的字符串的函数有哪些?

  1. 这个库提供了字符串处理的通用函数。 例如字符串查找、子串、模式匹配等。 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 )。 索引可以是负数,它指从字符串末尾反向解析。 即,最后一个字符在 -1 位置处,等等。
    字符串库中的所有函数都在表 string 中。 它还将其设置为字符串元表的 __index 域。 因此,你可以以面向对象的形式使用字符串函数。 例如,string.byte(s,i) 可以写成 s:byte(i)。
    字符串库假定采用单字节字符编码。
    string.byte (s [, i [, j]])
    返回字符 s[i], s[i+1], ... ,s[j] 的内部数字编码。 i 的默认值是 1 ; j 的默认值是 i。 这些索引以函数 string.sub 的规则修正。
    数字编码没有必要跨平台。
    string.char (···)
    接收零或更多的整数。 返回和参数数量相同长度的字符串。 其中每个字符的内部编码值等于对应的参数值。

  2. 数字编码没有必要跨平台。
    string.dump (function [, strip])
    返回包含有以二进制方式表示的(一个 二进制代码块 )指定函数的字符串。 之后可以用 load 调用这个字符串获得 该函数的副本(但是绑定新的上值)。 如果 strip 为真值,

  3. 二进制代码块不携带该函数的调试信息 (局部变量名,行号,等等。)。
    带上值的函数只保存上值的数目。 当(再次)加载时,这些上值被更新为 nil 的实例。 (你可以使用调试库按你需要的方式来序列化上值,并重载到函数中)
    string.find (s, pattern [, init [, plain]])
    查找第一个字符串 s 中匹配到的 pattern (参见 §6.4.1)。 如果找到一个匹配,find 会返回 s 中关于它起始及终点位置的索引; 否则,返回 nil。 第三个可选数字参数 init 指

  4. 从哪里开始搜索; 默认值为 1 , 同时可以是负值。 第四个可选参数 plain 为 true 时, 关闭模式匹配机制。 此时函数仅做直接的 “查找子串”的操作, 而 pattern 中没有字符被看作魔法字符。 注意,如果给定了 plain ,就必须写上 init 。
    如果在模式中定义了捕获,捕获到的若干值也会在两个索引之后返回。
    string.format (formatstring, ···)

  5. 返回不定数量参数的格式化版本, 格式化串为 第一个参数(必须是一个字符串)。 格式化字符串遵循 ISO C 函数 sprintf 的规则。 不同点在于选项 *, h, L, l, n, p 不支持, 另外还增加了一个选项 q。 q 选项将一个字符串格式化为两个双引号括起,对内部字符做恰当的转义处理的字符串。 该字符串可以安全的被 Lua 解释器读回来。

系统提供的字符串的函数有哪些?

php做优化包括哪些内容?

1:单引号代替双引号,双引号会去找变量。
2:方法定义为static,性能提升4倍。
3:$arr['id']的性能是$arr[id]的7倍。
4:echo性能快,尽量使用echo $a,$b,$c而非echo $a.$b.$c。
5:循环之前确定循环次数,尽量用foreach。
6:注销不使用的变量,节省内存。
7:尽量不使用魔法函数:__get、__set等。
8:require_once()会检查是否载入,消耗内存。
9:include文件时使用绝对路径,省去查找的时间。
10:脚本开始执行时间$_SERVER[‘REQUEST_TIME’]要好于time()。
11:正则效率低,用函数代替。
12:str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
13:接收客串的效率比接收数组的效率高。
14:switch case好于多个if else。
15:用@屏蔽错误消息的方法很低效。
16:打开apache的mod_deflate模块,可以提高网页的浏览速度。
17:数据库连接当使用完毕时应关掉,不要用长连接。
18:错误消息代价昂贵。
19:在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
20:递增一个全局变量要比递增一个局部变量慢2倍。
21:递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。
22:递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
23:仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
24:方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。
25:派生类中的方法运行起来要快于在基类中定义的同样的方法。
26:调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
27:Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
28:尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。
29:当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
30:当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。
31:并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。
32:尽量采用大量的PHP内置函数。
33:如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。
34:mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。
35:在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题。
36:尽量的少进行文件操作,虽然PHP的文件操作效率也不低的。
37:优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过)。
38:循环内部不要声明变量,尤其是大变量:对象。
39:多维数组尽量不要循环嵌套赋值。
40:在可以用PHP内部字符串操作函数的情况下,不要用正则表达式。
41:foreach效率更高,尽量用foreach代替while和for循环。
42:用i+=1代替i=i+1。符合c/c++的习惯,效率还高。
43:对global变量,应该用完就unset()掉。

系统提供的字符串的函数有哪些?

php的魔法方式包含哪些

我爱编程网(https://www.52biancheng.com)小编还为大家带来php的魔法方式包含哪些的相关内容。


在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利。PHP中的魔术方法通常以__(两个下划线)开始,并且不需要显示的调用而是由某种特定的条件出发。
__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(),__wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo() 等方法在 PHP 中被称为魔术方法(Magic methods)。 (推荐学习:PHP视频教程)
注:在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。
注意:PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。
__sleep() 和 __wakeup()
public __sleep ( void ) : array
__wakeup ( void ) : voidserialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在,该方法会先被调用,然后才执行序列化操作。此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组。如果该方法未返回任何内容,则 NULL 被序列化,并产生一个 E_NOTICE 级别的错误。
Note:
__sleep() 不能返回父类的私有成员的名字。这样做会产生一个 E_NOTICE 级别的错误。可以用 Serializable 接口来替代。
__sleep() 方法常用于提交未提交的数据,或类似的清理操作。同时,如果有一些很大的对象,但不需要全部保存,这个功能就很好用。
与之相反,unserialize() 会检查是否存在一个 __wakeup() 方法。如果存在,则会先调用 __wakeup 方法,预先准备对象需要的资源。
__wakeup() 经常用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作。
<?php
class Connection
{
protected $link;
private $server, $username, $password, $db;

public function __construct($server, $username, $password, $db)
{
$this->server = $server;
$this->username = $username;
$this->password = $password;
$this->db = $db;
$this->connect();
}

private function connect()
{
$this->link = mysql_connect($this->server, $this->username, $this->password);
mysql_select_db($this->db, $this->link);
}

public function __sleep()
{
return array('server', 'username', 'password', 'db');
}

public function __wakeup()
{
$this->connect();
}
}
?> 我爱编程网

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“系统提供的字符串的函数有哪些?”相关推荐
PHP的常用系统函数有哪些
PHP的常用系统函数有哪些

php随机数函数在PHP中,随机数(RandomNumber)是指一组伪随机数(Pseudo-randomNumber),即看起来随机的数字序列,但实际上是由一个算法生成的。PHP提供了一些内置函数,可以用来生成伪随机数,这些函数可以用于各种应用程序,如游戏、密码学、模拟等。以下是一些PHP中常用的生成随机数的函数:1、rand()函数:生成一个指定范围内的随机整数。例如

2024-07-23 18:37:51
php把字符串写入txt文件的函数有哪些?
php把字符串写入txt文件的函数有哪些?

php可以遍历一个txt文件行么、就是一行一行地遍历$handler = fopen('test6.txt','r'); //打开文件while(!feof($handler)){    $m[] = fgets($handler,4096); //fgets逐行读取,4096最大长度,默认为1024}fclose($handler); //关闭文件//输出文件echo '&lt;pre&g

2024-09-19 17:54:37
Python中字符串常用操作有哪些
Python中字符串常用操作有哪些

Python中字符串常用操作有哪些字符串是Python中常用的数据类型,我们可以使用引号('或")来创建字符串,对字符串进行使用和操作,需要用到特定的函数,以下是常用的Python字符串操作方法:1.capitalize()作用:capitalize()主要是用来实现字符串首字母大写,其他字母小写的功能。实例:12str1="oldboy"print(str1.c

2024-03-04 22:06:59
php mysql转义特殊字符的函数有哪些
php mysql转义特殊字符的函数有哪些

phpmysql转义特殊字符的函数有哪些PHP的介绍PHP,是英文超文本预处理语言HypertextPreprocessor的缩写。PHP是一种可以HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。自从PHP5开始,引入了面向对象的全部机制,并且保留了向下兼容性。PHP的发展历史PHP原始为PersonalHomePa

2025-02-15 10:26:41
php提取字符串函数 PHP截取一个字符串里某个符号前面的字符串
php提取字符串函数 PHP截取一个字符串里某个符号前面的字符串

PHP截取一个字符串里某个符号前面的字符串$a值的长度,以及参数个数都是未定的.. 要去除掉最后一个&amp;符号以及后面所带的参数。经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了。我们先来看一下PHPsubstr

2024-08-26 04:40:18
哪些系统支持Python
哪些系统支持Python

学python用mac还是windows并没有说哪个系统比较好。python可以在windows、MacOS以及Linux系统都可以使用。windows端首先是习惯,无论是快捷键还是系统使用习惯都有先天性的优势。起码在一些日常的操作都可以很顺手方便的操作。但是要安装Python环境,也不难。直接百度搜索python下载就可以使用。MacOS、Linux端可

2024-02-22 01:43:23
PHP针对HTML实体字符的转义函数有哪些
PHP针对HTML实体字符的转义函数有哪些

PHP针对HTML实体字符的转义函数有哪些PHP针对HTML实体字符的转义函数有:1、【htmlspecialchars()】转义特别的字符为HTML实体;2、【htmlspecialchars_decode()】将实体转成HTML代码。【相关学习推荐:php图文教程】PHP针对HTML实体字符的转义函数有:1、htmlspecialchars()转义特别的字符为HTML实体;

2024-09-01 19:39:20
提取电脑系统日期函数excel用什么函数可以提取出电脑系统的年月日
提取电脑系统日期函数excel用什么函数可以提取出电脑系统的年月日

php读取excel中的日期出错。1、工作簿处于“公式审核”状态,按ctrl+~切回到正常工作状态就可以。2、如果还不行,请在表格之外任意一处把单元格设置成日期格式,然后随便填一个日期,再用格式刷刷你表格中的日期方法:写入excel的时候在时间上加‘’,让他变成字符串,读取就没错了。excelTime的函数也可以正确转化时间error_reporting(E_ALL);

2025-01-07 17:05:54