- 论坛徽章:
- 59
|
17、有一个数组array('a','b','c','d','e','f'),请使用两段代码分别达成图1和图2中的效果。
图1:
图2:
第一种效果的PHP代码:-
- <?php
- /**
- * 产生第一种形式数组
- * 参数:数组
- * 返回:数组
- */
- function generateArray1($arr){
- if (sizeof($arr)<2) return $arr; //如果数组个数只有一个或者0个,返回原始值。
- $r_arr=null;
- for ($i=sizeof($arr) - 2;$i>=0;$i--){
- if ($i == sizeof($arr) - 2){
- $r_arr=array($arr[$i]=>$arr[sizeof($arr)-1]);
- }else{
- $r_arr=array($arr[$i]=>$r_arr);
- }
- }
- return $r_arr;
- }
- $test_arr=array('a','b','c','d','e','f');
- print_r(generateArray1($test_arr));
- ?>
复制代码 第二种形式的代码:-
- <?php
- /**
- * 产生第二种形式数组
- * 参数:数组
- * 传入的值
- * 返回:数组
- */
- function generateArray2($arr,$value){
- if (sizeof($arr)<1) return $arr; //如果数组个数只有0个,返回原始值。
- $r_arr=null;
- for ($i=sizeof($arr) - 1;$i>=0;$i--){
- if ($i == sizeof($arr) - 1){
- $r_arr=array($arr[$i]=>$value);
- }else{
- $r_arr=array($arr[$i]=>$r_arr);
- }
- }
- return $r_arr;
- }
- $test_arr=array('a','b','c','d','e','f');
- print_r(generateArray2($test_arr,'Value'));
- ?>
复制代码 |
|