版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38801354/article/details/80717201
1 数组
PHP数组分为:
- 数字索引数组
- 非数字索引数组()
- 多维数组
1.1 数组的初始化
1.1.1 数字索引数组的初始化
PHP的数组初始化很简单,如 $products = array('Tires', 'Oil');
,如果需要将升序排列的数字保存在一个数组中,可以使用 range()
函数。
range()
函数的语法是:range(int start, int end, int interval)
,其中的 interval
表示步幅。
1.1.2 关联数组的初始化
PHP的非数字索引数组的初始化形式如:$products = array('Tires' => 100, 'Oil' => 200)
1.2 循环读取数组
数字索引数组 的循环读取数组很简单,除了使用 for
循环,还可以使用 foreach($array as $item) {}
循环。
而至于 关联数组 则可以使用 foreach
循环或 list()
和 each()
结构。
foreach
循环关联数组,foreach($array as $key => $value) {}
each
结构循环关联数组,如下例,但值得注意的是,使用each()
函数的时候,数组将记录当前元素,所以如果希望在相同脚本中再对该数组使用each()
函数,就 必须要使用函数reset()
将当前元素重新设置到数组的开始处。
while ($item = each($array)) {
echo $item['key'].':'.$item['value'];
}
// 其中的 $item 是个数组
list()
函数可以将一个数组分解为一系列的值。
while (list($product, $price) = each($products)) {
echo $product.':'.$price;
}
1.3 数组的常规操作
sort()
:数组升序排序,直接操作于数组,第二参数可选,默认值是SORT_REGULAR
,其余还有SORT_NUMRIC
或SORT_STRING
,用于指定排序类型asort()
:用于关联数组中的元素值排序ksort()
:用于关联数组中的关键字排序rsort()
:降序arsort()
:降序krsort()
:降序array_reverse()
:给原来数组的反向排序array_push()
:添加元素到数组的末尾array_pop()
:删除数组的最后一个元素count()
:数组的长度array_walk(arr, string func)
:用于对数组的每一个元素应用任何函数
2 字符串
2.1 字符串的操作
trim()
:字符串的左右两侧的空格符删除ltrim()
:字符串的左侧空格符删除rtrim()
:字符串的右侧空格符删除nl2br()
:用<br/>
标记代替字符串中的换行符strtoupper()
:字符串转换为大写strtolower()
:字符串转换为小写ucfirst()
:字符串的第一个字母大写ucwords()
:字符串的每个单词的第一个字母大写addslashes()
:格式化字符串,将字符串的双、单引号,反斜杠,NULL
字符进行转义stripslashes()
:移除转义array explode(string separator, string input [, int limit])
:用于分割字符串,其中separator
作为分割符,而limit
表示限制分成字符串的数量,默认全部分割string join(string separator, array $strarray)
:用于合并字符串substr(string str, int start [, int length])
:用于访问字符串给定起点和终点的子字符串,length
默认到字符串的最后strlen()
:字符串的长度string strstr(string haystack, string needle)
:它可以用于在一个较长的字符串中查找匹配的字符串或字符,返回一个从第一个匹配的关键字截断的字符串,此方法区分大小写,不存在返回false
stristr()
:与上一个strstr()
函数作用一样,可是不区分大小写,不存在返回false
strpos(string haystack, string needle [, int offset])
:操作与strstr()
函数作用类似,可是该函数返回不是子字符串,而是该关键字的索引,其中offset
表示开始搜索的位置,不存在返回false
strrpos(string haystack, string needle [, int offset])
:与上一个strpos()
函数作用类似,可是该函数返回的是被搜索字符串中最后一次出现目标关键字子字符串的位置,不存在返回false
str_replace(mixed needle, mixed new_needle, mixed haystack[, int & count])
:替换子字符串,其中new_needle
表示要替代haystack
中的needle
,count
表示的是操作次数,默认全部替换完。
2.2 正则表达式
boolean eregi(string RegExp, $str)
:用于查找字符串是否含有匹配子字符串string ereg_replace(string pattern, string replacment, string search);
:其中pattern
为正则表达式,replacement
为替换字符串,search
为源字符串array split(string pattern, string search [, int max])
:用于分割字符串,返回数组