my_function

**印出陣列     

函數:print_arr()

function print_arr ($arr) {
$i=0;
foreach ($arr as $key =>$value){
$key=$key+1;
echo $key."[".$value."]   ";
echo ($i%8==0 && $i!=0) ? "<br>":"  ";
//每九個跳行
$i++;
}
}

**產出tree陣列**

函數:create_arr()

$data='data';
$left='left';
$right='right';

$raw_arr=array(7,1,4,2,8,13,12,11,15,9,5);
$num=count($raw_arr);
$i_num=$num-1;

$my_arr=array();
for ($i=0; $i<=$i_num; $i++) {
$my_arr=create_arr($my_arr,$i,$data,$raw_arr[$i]);
$my_arr=create_arr($my_arr,$i,$left,0);
$my_arr=create_arr($my_arr,$i,$right,0);
}

function create_arr($arr,$num,$key,$value) {
$arr[$num][$key]=$value;
return $arr;
}

PHP陣列key值為負數

會出現錯誤的訊息,是因為第34行$arr[$j]變數,$j是負數。而$j是$arr陣列的key值,因為key值是負數,所以會出現錯誤警告的訊息。
當然你也可以用
ini_set(“display_errors”,”off”),來讓錯誤訊息不出現。

ini_set(“display_errors”,”off”),來讓錯誤訊息不出現。

但是正確的方法,應該是key值若是不正確時,給它一個null。

isset($arr[$j])?$arr[$j]=$arr[$j]:$arr[$j]=null;

這樣就沒有錯誤的訊息了!