要求:
php正则匹配6到16位的字符串。
只允许包含数字、字母、下划线组成的6到16位字符,符合返回ture,否则返回false。
解答:
6到16位,正则可以这样写:{6,16}。
任意的字符6到16位的正则表达式是这样:.{6,16}
仅允许数字、字母、下划线的组合,正则为:[0-9_a-zA-Z]
整合一下,完整的正则就是:
以下是应用此正则验证密码的例子。
<?php /** * php正则验证密码规则 * 只允许 数字、字母、下划线 * 最短6位、最长16位 * 搜集整理:www. */ function ispassword($str) { if (preg_match('/^[_0-9a-z]{6,16}$/i',$str)){ return true; }else { return false; } } $password = 'abcde@'; if(ispassword($password)) { echo '符合'; }else { echo '不符合'; } //output 不符合 echo '<br>'; $password = 'abcdeasdas_1324'; if(ispassword($password)) { echo '符合'; }else { echo '不符合'; } //output 符合 ?>
要求:
用php正则表达式匹配以“abc”开头,但结尾不能包含“x”、“y”、“z”的字符串。
解析:
abc开头,正则这样写:^abc。
以abc开头了,后面要有一串的字符串
一般用[^…………]这样来否定。
既然是否定“x”、“y”、“z”,就是[^xyz]了。
完整的正则表达式就是这样:
下面是使用此正则的完整php示例,如下:
<?php $str = 'abcdef124f'; $search = '/^abc[^xyz]*$/'; if(preg_match($search,$str)) { echo $str.' 符合<br />'; }else { echo $str.' 不符合<br />'; } //output abcdef124f 符合 $str = 'abcdef12x124'; if(preg_match($search,$str)) { echo $str.' 符合<br />'; }else { echo $str.' 不符合<br />'; } //output abcdef12x124 不符合 //edit by www. ?>
1,首先,合并数组。
array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。
其形式为:
array array_merge (array array1 array2…,arrayN)
可以将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。
返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
例子:
<?php /** * php 数组合并 * edit by www. */ $face = array("J","Q","K","A"); $numbered = array("2","3","4","5","6","7","8","9"); $cards = array_merge($face, $numbered); shuffle($cards); print_r($cards); ?>
输出结果:
Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )
2,递归追加数组
array_merge_recursive()函数与array_merge()相同,可以将两个或多个数组合并在一起,形成一个联合的数组。
两者之间 的区别在于,当某个输入数组中的某个键己经存在于结果数组中时该函数会采取不同的处理方式.array_merge()会覆盖前面存在的键/值对,替换为 当前输入数组
中的键/值对,而array_merge_recursive()将把两个值合并在一起,形成一个新的数组,并以原有的键作为数组名。
还有一 个数组合并的形式,就是递归追加数组。
其形式为:
array array_merge_recursive( array key,array values )
例子:
<?php /** * 追加数组 * edit by www. */ $class1 = array("John" => 100, "James" => 85); $class2 = array("Micky" => 78, "John" => 45); $classScores = array_merge_recursive($class1, $class2); print_r($classScores); ?>
输出结果:
Array ( [John] => Array ( [0] => 100 [1] => 45 ) [James] => 85 [Micky] => 78 )
3,连接两个数组
array_combine()函数会得到一个新数组,它由一组提交的键和对应的值组成。
其形式为:
array array_merge(array array1,array array2[…,array arrayN])
注意,两个输入数组必须大小相同,不能为空。
例子:
<?php /** * php数组连接 * edit by www. */ $abbreviations = array("AL","AK","AZ","AR"); $states = array("Alabama","Alaska","Arizona","Arkansas"); $stateMap = array_combine($abbreviations,$states); print_r($stateMap); ?>
输出结果:
Array ( [AL] => Alabama [AK] => Alaska [AZ] => Arizona [AR] => Arkansas )
有关php中对数组进行合并、追加与连接的方法与实例,就介绍到这了,希望可以帮助到大家。
,祝大家学习进步。