PHP字符串和数组操作

*字符串查找 $email = 'name@example@.com'; $domain = strstr($email, '@'); echo $domain; // prints @example.com $domain = strrchr($email, '@'); echo $domain; // prints @.com <?php //测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'gbk').'<br>';//8 echo mb_strlen($str,'gb2312').'<br>';//10 ?> 利用这两个函数则可以联合计算出一个中英文混排的串的占位是多少(一个中文字符的占位是2,英文字符是1)echo (strlen($str) + mb_strlen($str,'UTF8')) / 2; mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。 *字符串的截取: substr(); //截取字符串从什么位置到什么位置 mb_substr(); //截取字符串从什么位置到什么位置,可以正确截取汉字 iconv_substr(); //截取字符串从什么位置到什么位置,可以正确截取汉字 mb_strcut(); //截取汉字 //反转中文字符和特殊字符 $str = "中国北京dfsdfw3cc58887576\]]ppe@渴来!@##%%^路&*&**(uuu"; $result = ""; $legth = mb_strlen($str, "utf8"); for ($i=$legth-1; $i>=0; $i--) { $result .= mb_substr($str, $i, 1, "utf8"); } *GET类经常使用的函数 get_class_methods() // 所有方法 get_included_files()//返回当前页所有加载的文件 get_declared_classes()// 返回当前页所有class get_declared_interfaces()// 返回所有的接口 get_defined_functions()// 返回所有的function get_defined_vars()// 返回当前页所有的变量 get_current_user()// 返回当前用户 get_defined_constants()// 返回所有常量 get_loaded_extensions()// 获取PHP当前加载的所有扩展 get_extension_funcs('xml')// 获取指定扩展的所有方法列表 extract($arr);用于把数组中的元素转换成变量导入到当前文件中,键名当作变量名,值作为变量值 *数组的分段 array_slice($arr,0,3);可以将数组中的一段取出,此函数忽略键名 array_splice($arr,0,3,array(”black”,”maroon”));可以将数组中的一段取出,与上个函数不同在于返回的序列从原数组中删除 array_walk($arr,’function’,'words’);使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function) array_mpa(”function”,$arr1,$arr2);可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同) array_filter($arr,”function”);使用回调函数过滤数组中的每个元素,如果回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,数组的键名保留不变 array_reduce($arr,”function”,”*”);转化为单值函数(*为数组的第一个值)

------小菜------

采用 MyISAM 的考虑:  R/W > 100:1 & update 相对较少  并发不高,不需要事务  表数据量小  硬件资源有限 采用表存储引擎-InnoDB  OLTP,R/W 相当,频繁更新大字段  表数据量超过 1000 万  安全性和可用性要求高  并发高 InnoDB 调优窍门 • 尽量使用短的,整型主键 • Load/Insert 数据时尽量用主键的顺序 • 增加日志文件大小 • 避免大的事务回滚 • 避免大量插入 • 尽量使用前缀索引

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-03-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ryan Miao

Java8-如何构建一个Stream

Stream的创建方式有很多种,除了最常见的集合创建,还有其他几种方式。 List转Stream List继承自Collection接口,而Collection...

3444
来自专栏Golang语言社区

map按key和按value排序

看一个题: 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70...

3618
来自专栏java一日一条

10行Java代码实现最近被使用(LRU)缓存

在最近的面试中,我曾被多次问到,怎么实现一个最近最少使用(LRU)的缓存。缓存可以通过哈希表来实现,然而为这个缓存增加大小限制会变成另一个有意思的问题。现在我们...

422
来自专栏我的博客

Zend_Db_Adapter使用详情

Zend_Db_Adapter是zendfrmaeword的数据库抽象层api. 基于pdo, 你可以使用 Zend_Db_Adapter 连接和处理多种 数据...

3424
来自专栏Python攻城狮

Python-生成器1.什么是生成器2.创建生成器方法 3.send 4.实现多任务 5.迭代器 6.闭包

通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅...

841
来自专栏葡萄城控件技术团队

JavaScript 开发人员需要知道的简写技巧

1123
来自专栏Java开发者杂谈

Ruby(3):基本语法中

字符串分割成数组: 可以使用先scan再join的方法,当然其实有更好的 split方法,专门用来分割字符串 1 # 在Ruby中,如果不使用inspect...

34515
来自专栏我是攻城师

10行Java代码实现最近被使用(LRU)缓存

3414
来自专栏智能算法

Python学习(四)---- 列表生成式、生成器、迭代器和内置函数

https://blog.csdn.net/fgf00/article/details/52061971

612
来自专栏C/C++基础

nvarchar,nchar,vchar,nvchar,char…

nvarchar,nchar,vchar,nvchar,char,ntext,text区别详解 联机帮助上的:

552

扫描关注云+社区