php數組插入數據

php數組插入數據

1、總結

代碼要多敲,看是看不會的php

php代碼直接在頁面很差敲,能夠去控制器裏面敲html

 

2、目標

在一組數中,要求插入一個數,按其原來順序插入,維護原來排序方式。數組

 

3、代碼

(1)、思路:找到比要插入數大的那個位置,替換,而後把後面的數後移一位。函數

 1 <?php  2 $in = 2;  3 $arr = array(1,1,1,3,5,7);  4 $n = count($arr);  5 //若是要插入的數已經最大,直接打印
 6 if($arr[$n-1] < $in) {  7   $arr[$n+1] = $in; print_r($arr);  8  }  9 for($i=0; $i<$n; $i++) { 10 //找出要插入的位置
11   if($arr[$i] >= $in){ 12     $t1= $arr[$i]; 13     $arr[$i] = $in; 14 //把後面的數據後移一位
15     for($j=$i+1; $j<$n+1; $j++) { 16       $t2 = $arr[$j]; 17       $arr[$j] = $t1; 18       $t1 = $t2; 19  } 20 //打印
21   print_r($arr); 22   die; 23  } 24 }

一、print_r打印數組spa

 

(2)、code

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>PHP Exercise</title>
 6 </head>
 7 <body>
 8 <div>這是楊輝三角</div>
 9     <?php 10         $in=2; 11         $arr=array(1,1,1,3,5,7); 12         //一、將數組排序
13         sort($arr); 14         //二、二分查找在數組中找到要插入的位置
15         $len=count($arr); 16         $h=0; 17         $t=$len-1; 18         $in_pos=-1; 19         while($h<=$t){ 20             $ave=intval(($h+$t)/2); 21             if($ave==$in){ 22                 $in_pos=$ave; 23                 break; 24             }else if($ave>$in){ 25                 $t=$ave-1; 26             }else{ 27                 $h=$ave+1; 28  } 29  } 30         dump($in_pos); 31         //三、插入元素後面的數據依次後移,在數組中插入元素
32     ?>
33 </body>
34 </html>

一、sort()排序htm

二、count()函數計算元素數目blog

三、intval對浮點數取整排序

四、第22行,函數內能夠直接用函數外的變量ci

五、php也支持break關鍵詞

六、原生php也支持dump關鍵詞

相關文章
相關標籤/搜索