php生成数组的使用示例 php全组合算法

复制代码 代码如下:
$arr = array(1,2,3,4,5);
/*
@ res  组装好的每一注的每个元素
@ $a 临时数组
@ $index 数组索引
@ $arr 请求的数组
@ $b 最后要的结果
*/
$a = array();
$b = array();
$total = 0;
format($a,0,$arr);
function format($res,$index,$arr){
 global $total;
 global $b;
 $new_arr = $res;
 $n_arr = array();
 if($index == count($arr)){
  if(count($new_arr)==5){
   $b[]  = $new_arr;
   echo “

一、基础题 1. 写出如下程序的输出结果 复制代码 代码如下: $str1 = null; $str2 = false;
echo $str1==$str2 ? ‘相等’ : ‘不相等’; $str3 = ”; $str4 = 0; echo
$str3==$str4 ? ‘相等’ : ‘不相等’; $str5 = 0; $str6 = ‘0’; echo
$str5===$str6 ? ‘相等’ : ‘不相等’; ?> 2. 写出如下程序的输出结果
复制代码 代码如下: $a1 = null; $a2 =
false; $a3 = 0; $a4 = ”; $a5 = ‘0’; $a6 = ‘null’; $a7 = array(); $a8 =
array; echo empty ? ‘true’ : ‘false’; echo empty ? ‘true’ : ‘false’;
echo empty ? ‘true’ : ‘false’; echo empty ? ‘true’ : ‘false’; echo empty
? ‘true’ : ‘false’; echo empty ? ‘true’ : ‘false’; echo empty ? ‘true’ :
‘false’; echo empty ? ‘true’ : ‘false’; ?> 3.
写出如下程序的输出结果
复制代码
代码如下: $test = ‘aaaaaa’; $abc = & $test; unset; echo $abc; ?> 4.
写出如下程序的输出结果
复制代码
代码如下: $count = 5; function get_count(){ static $count = 0; return
$count++; } echo $count; ++$count; echo get_count; ?> 5.
写出如下程序的输出结果
复制代码
代码如下: $GLOBALS[‘var1’] = 5; $var2 = 1; function get_value(){
global $var2; $var1 = 0; return $var2++; } get_value(); echo $var1;
echo $var2; ?> 6. 写出如下程序的输出结果 复制代码 代码如下: function get_arr; } $arr1 =
array; $arr2 = array; get_arr; get_arr; echo count; echo count; ?>
7. 使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如
get_ext1, get_ext2 二、算法题 1.
使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 2.
使用PHP描述顺序查找和二分查找算法,顺序查找必须考虑效率,对象可以是一个有序数组

";
   $total++; 
  }  
  return;
 }
 format($new_arr,$index+1,$arr);
 $new_arr[] = $arr[$index];
 format($new_arr,$index+1,$arr);
}
echo "";
print_r($b);
echo "
  1. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
    (以下答案不一定是最好的,只是一个简单的参考) 一、基础题 1. 相等
    相等 不相等 2. true true true true true false true false 3. aaaaaa 4. 5
    0 1 5. 5 2 6. 1 2 7. 使用五种以上方式获取一个文件的扩展名 复制代码 代码如下: function get_ext1{ return
    strrchr; } function get_ext2{ return substr($file_name, strrpos; }
    function get_ext3{ return array_pop(explode; } function get_ext4{ $p
    = pathinfo; return $p[‘extension’]澳门新葡亰3522平台游戏,; } function get_ext5{ return
    strrev(substr, 0, strpos, ‘.’))); } 二、算法题 1.
    使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 复制代码 代码如下: //冒泡排序 function
    bubble_sort { $count = count; if return false; for($i=0; $i$i; $j–){
    if ($array[$j] < $array[$j-1]){ $tmp = $array[$j]; $array[$j]
    = $array[$j-1]; $array[$j-1] = $tmp; } } } return $array; }
    //快速排序 function quick_sort { if return $array; $key = $array[0];
    $left_arr = array(); $right_arr = array(); for ($i=1; $i一个有序数组
    复制代码 代码如下: //二分查找 function
    bin_sch($array, $low, $high, $k){ if { $mid = intval; if { return $mid;
    }elseif { return bin_sch($array, $low, $mid-1, $k); }else{ return
    bin_sch($array, $mid+1, $high, $k); } } return -1; } //顺序查找
    function seq_sch{ $array[$n] = $k; for{ if{ break; } } if { return
    $i; }else{ return -1; } } 3.
    写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
    复制代码 代码如下: //二维数组排序,
    $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
    function array_sort($arr, $keys, $order=0) { if { return false; }
    $keysvalue = array(); foreach { $keysvalue[$key] = $val[$keys]; }
    if{ asort; }else { arsort; } reset; foreach($keysvalue as $key =>
    $vals) { $keysort[$key] = $key; } $new_array = array();
    foreach($keysort as $key => $val) { $new_array[$key] =
    $arr[$val]; } return $new_array; }