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关键词

相关文章
相关标签/搜索