PHP--数组处理函数及应用
发布日期:2021-05-06 21:18:35 浏览次数:21 分类:精选文章

本文共 6501 字,大约阅读时间需要 21 分钟。

";$numbers1 = range(1,9); //等价于下面的$numbers2 = array(1,2,3,4,5,6,7,8,9);print_r($numbers1); echo "
";print_r($numbers2); echo "
"; //这样写代码,不是良好的习惯,代码尽量独占一行$chars1 = range('a','d'); //等价于下面$chars2 = array('a','b','c','d');print_r($chars1); echo "
";print_r($chars2); echo "
"; echo "

";//explode函数 使用指定分隔符,分隔字符串,放置数组中echo "explode()函数:
";$ip = '192.168.1.101';$ips = explode('.',$ip);print_r($ips); echo "
"; echo "

";//array_combine()函数 创建一个新数组,用一个数组作为key,一个数组作为valueecho "array_combine()函数:
";$array_k = array('a','b','c','d');$array_v = array('apple','banana','cherry','Durian');$array_new = array_combine($array_k,$array_v);print_r($array_k); echo "
";print_r($array_v); echo "
";print_r($array_new); echo "
"; echo "

";//array_fill()函数 创建一个数组,数组长度length,元素从start_key开始递增echo "array_fill()函数:
";$fill1 = array_fill(2,3,'虾米大王');print_r($fill1); echo "
";$fill2 = array_fill(2,-1,'虾米大王'); //长度为负数,错误print_r($fill2); echo "
"; echo "

";//array_pad()函数 返回数组的一个拷贝,并用pad_value填补到pad_size指定的长度//pad_size为正数,填补到右侧,pad_size为负数,从左侧填补,pad_size小于数组长度,不填补echo "array_pad()函数:
";$info = array('one','two','threee');$tmp1 = array_pad($info,5,'xx');$tmp2 = array_pad($info,-5,'xx');$tmp3 = array_pad($info,2,'xx');print_r($tmp1); echo "
";print_r($tmp2); echo "
";print_r($tmp3); echo "
"; echo "

";//count()函数 统计数组中元素个数,多维数组mode参数COUNT_RECURSIVE,mode默认为0;echo "count()函数:
";$arr1 = array('a'>>'red','b'>>'green',2,5);$arr2 = array( "001">> array('NO'>>'001','name'>>'zhang','sex'>>'male'), "002">> array('NO'>>'002','name'>>'wang','sex'>>'female');$count1 = count($arr1);$count2 = count($arr2,COUNT_RECURSIVE); //var_dump($count1); echo "
";var_dump($count2); echo "
"; echo "

";//max()函数 统计数组中元素最大值echo "max()函数:
";$scores = array(70,80,90,60);$grades = array('A','B','C','D');$max1 = max($scores);$max2 = max($grades);var_dump($max1); echo "
"; //90var_dump($max2); echo "
"; echo "

";//D//array_sum函数() 统计数组元素的和,返回整数或浮点数echo "array_sum()函数:
";$scores = array(70,80,90,60);$grades = array('1A','2B','3C','4D'); //字符省略,$sum1 = array_sum($scores);$sum2 = array_sum($grades);var_dump($sum1); echo "
";var_dump($sum2); echo "
"; echo "

";//array_product()函数 统计数组中元素的乘积,返回整数或浮点数echo "array_product()函数:
";$arr1 = array(7,8,9,6);$arr2 = array('1a','2b','3c','4d');$p1 = array_product($arr1);$p2 = array_product($arr2);var_dump($p1); echo "
";var_dump($p2); echo "
"; echo "

";//array_count_values()函数 统计数组中元素值出现的次数$arr1 = array(1,'hello',1,'world','hello');print_r(array_count_values($arr1)); echo "
"; echo "

"; ////key()函数 返回数组当前指针的key名//current()函数 返回数组当前指针的value值,别名posecho "key()函数:
";echo "current()函数:
";$examples[1] = "beijing";$examples[5] = 'ningbo';$examples[2] = 'hangzhou';$examples[] = 'xian';var_dump(key($examples)); echo "
"; //当前var_dump(current($examples)); echo "
"; echo "

";//next()函数 移动数组当前指针至下一个元素echo "next()函数:
";$examples[1] = "beijing";$examples[5] = 'ningbo';$examples[2] = 'hangzhou';$examples[] = 'xian';$second = next($examples);$third = next($examples);var_dump(key($examples)); echo "
";var_dump(current($examples)); echo "
"; //输出hangzhouvar_dump($second); echo "
"; //输出ningbovar_dump($third); echo "
"; echo "

";//输出hangzhou//end()函数 移动数组当前指针至最后一个元素echo "end()函数:
";$examples[1] = "beijing";$examples[5] = 'ningbo';$examples[2] = 'hangzhou';$examples[] = 'xian';$end = end($examples);var_dump(key($examples)); echo "
";var_dump(current($examples)); echo "
";var_dump($end); echo "
"; echo "

";//prev()函数 移动数组当前指针至上一个元素,并返回当前指针的值echo "prev()函数:
";$arr[1] = "beijing";$arr[5] = 'ningbo';$arr[2] = 'hangzhou';$arr[] = 'xian';$end = end($arr);$prev = prev($arr);var_dump(key($arr)); echo "
";var_dump(current($arr)); echo "
"; //输出hangzhouvar_dump($end); echo "
"; //输出xianvar_dump($prev); echo "
"; echo "

";//输出hangzhou//reset()函数 移动数组当前指针至第一个元素echo "reset()函数:
";$examples[1] = "beijing";$examples[5] = 'ningbo';$examples[2] = 'hangzhou';$examples[] = 'xian';$end = end($examples);$first = reset($examples);var_dump(key($examples)); echo "
";var_dump(current($examples)); echo "
"; //输出beijingvar_dump($end); echo "
"; //输出xianvar_dump($first); echo "
"; echo "

";//输出beijing//each()函数 以数组形式返回当前指针的元素key和value,指针后移$examples[1] = "beijing";$examples[5] = 'ningbo';$examples[2] = 'hangzhou';$examples[] = 'xian';$each = each($examples);print_r($each); echo "
";var_dump(key($examples)); echo "
";var_dump(current($examples)); echo "
"; echo "

";//数组的遍历$keys = array('a','b','c','d');$values = array('apple','banana','cherry','Durian');$combined = array_combine($keys,$values);reset($combined);do{ $key = key($combined); $value = current($combined); echo "$key => $value"."
";}while(next($combined)); echo "
"; echo "

";//如果数组中有空值,使用next遍历会出现失败$arr = range('a','e');unset($arr[5]);reset($arr);do{ $key = key($arr); $value = current($arr); echo "$key => $value"."
";}while(next($arr)); echo "
"; echo "

";//list()语言结构 仅用于数字键key的数组echo "list()语言结构:
";$info = array('china','gansu','lanzhou');list($country,$province,$city) = $info;echo "we are come from $country-$province-$city."."
";list($country,,$city) = $info;echo "we are come from $country,$city"."
";list(,,$city) = $info;echo "we are come from $city"."
"; echo "

";//extract()函数 使用数组定义一组变量echo "extract()函数:
";$info = array('student_no'>>'001','student_name'>>'wang','student_sex'>>'male');extract($info);echo "student_no = $student_no"."
";echo "student_name = $student_name"."
";echo "student_sex = $student_sex"."
"; echo "

";//compact()函数 返回一个数组echo "compact()函数:
";$tel = '130****1011';$email = 'name@xxx.com';$postcode = '730900';$result = compact('tel','email','postcode');print_r($result); echo "
"; echo "

";//数组遍历$keys = array('a','b','c','d');$values = array('apple','banana','cherry','Durian');$combined = array_combine($keys,$values);reset($combined);while(list($k,$v) = each($combined)){ echo "$k => $v"."
";}echo "
"; echo "

";//foreach数组遍历$examples = array('beijing','ningbo','hangzhou','xian');foreach ($examples as $value){ echo "$value - ";}

 

上一篇:PHP脚本程序的工作流程
下一篇:PHP--print和echo的区别

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月30日 03时31分35秒