PHP中冒泡排序与快速排序例子

 更新时间:2016年11月25日 14:57  点击:1704
php排序算法有很多种其实我们其它程序能实现的算法在php中同样可以实现,下面我来介绍PHP中冒泡排序与快速排序例子,希望对各位会带来帮助哦。

快速排序法:

 代码如下 复制代码

function sortArray($arr){
    $count=count($arr);
    for($i=0;$i<$count-1;$i++){
        for($j=$i+1;$j<$count;$j++){
            if($arr[$i]>$arr[$j]){
                $tem=$arr[$i];
                $arr[$i]=$arr[$j];
                $arr[$j]=$tem;
            }
        }
    }
    return $arr;
}

冒泡排序法

 代码如下 复制代码

function sortArray2($arr){
    $count=count($arr);
    for($i=0;$i<$count-1;$i++){
        for($j=0;$j<$count-1-$i;$j++){
            if($arr[$j]>$arr[$j+1]){
                $tem=$arr[$j];
                $arr[$j]=$arr[$j+1];
                $arr[$j+1]=$tem;
            }
        }
    }
   
    return $arr;
}

$a=array(23,14,35,28,45,98,12,19,1,78);

print_r(($a));
print_r(sortArray($a));
print_r(sortArray2($a));

结果

PHP中冒泡排序与快速排序例子

在php中定义常量我们使用的是const来定义了并且const定义常量是不需要$符号了,如果使用$就是变量 了哦,下面我来一起来看看类 const常量访问

例子。const常量访问

 代码如下 复制代码

class Math {
   const num=3.14;
  
   public function showNum(){
       return self::num;
   }
}

echo Math::num."<br/>";

$math=new Math();
echo $math->showNum();

结果:

3.14
3.14

例子,变量访问

 代码如下 复制代码

class Math {
   const num=3.14;
   var   $abc='aa';
   public function showNum(){
       return self::num;
   }
}

echo Math::abc."<br/>";

提示Fatal error: Undefined class constant 'abc' in E:xxx1.php on line 12

总结:所以const是定义变量可以使用Math::num来访问而 var定义的内部变量使用Math::num访问时就会提示变量未定义了哦。

in_array函数是用来判断我们输入的值是否在指定数组值中存在了,但我们在使用时如果指定值为0或空时我们会发现判断并不确定了,下面我来给大家介绍此问题的原因与例子。

0.in_array常用的使用方法

 

 代码如下 复制代码

<?php
$nameslist = array("小皮皮", "小轩轩", "工了以", "可爱的小贸");

if (in_array("工了以",$nameslist))
  {
  echo "找到呀";
  }
else
  {
  echo "不知道在哪里找,找不到";
  }
?>

输出的值为

找到呀


1.期望输出的是false,但实际上是true

 代码如下 复制代码

<?php
$value='';
$falsehortrue=in_array($value,array(0,1));
var_dump($falsehortrue);
//bool(true)
?>

2.使用in_array的第三个类型比较参数后,输出结果与期望相同输出的是false

 代码如下 复制代码

<?php
$value='';
$falsehortrue=in_array($value,array(0,1),true);
var_dump($falsehortrue);
// bool(false)
?>

总结,php in_array函数对于空值与0或1时我们需要带参数 true来验证哦,否则可能出现准情况。

register_globals是php中一个自定全局变量功能,在默认情况下是关闭了,但如果你使用thinkphp框架那么就需要打开register_globals功能了,下面我们一起来看看如何开启它吧。


开启方法

我们找到php.ini

查找:register_globals

register_globals = Off

更改为

register_globals = On

在php中问号运算符可以简单代替条件运算符了,我们在很多的开发应用中都会碰到一问号运算符的应用,下面我来简单的给各位新手介绍一下吧。

问号逗号运算符语法

 代码如下 复制代码

$a =1;
$b = $a==1 ? 'A' : 'B';
echo $a;

结果输出

A

解析上面的语句成if else

 代码如下 复制代码

$a =1;
if( $a ==1 )
{
  echo 'A';
}
else
{
  echo 'B';
}

结果输出

A

例子,在应用中我们根据过来的参数定义表名

 代码如下 复制代码

$tabname = $tag ==1 ? "aatt":"bfav";

$sql ="select * from $tabname  ";

例子,在获取数据post或get时我们也可以使用isset() 与问号运算符来处理

 代码如下 复制代码

$id = htmlspecialchars(isset($_GET[$str])?$_GET[$str]:'');

好了到这里我们就己经介绍完了问号运算符的用法了。

[!--infotagslink--]

相关文章

  • js实现数组冒泡排序、快速排序原理

    这篇文章主要为大家详细介绍了js实现数组冒泡排序、快速排序的原理,感兴趣的小伙伴们可以参考一下...2016-03-10
  • 理解jquery事件冒泡

    这篇文章主要介绍了jquery事件冒泡,以及如何阻止jQuery事件冒泡现象,感兴趣的朋友可以参考一下...2016-01-07
  • 分享javascript实现的冒泡排序代码并优化

    本文给大家汇总介绍了几个个人收藏的JavaScript实现冒泡排序的代码,都是非常的不错,有需要的小伙伴可以参考下...2016-06-12
  • 用js闭包的方法实现多点标注冒泡示例

    这两天在做地图这块,一点点js代码,各种坑。第一次接触js,各种难,下面就这几天的研究做一些总结,求坑 在事件监听器中使用闭包 在执行事件监听器时,通常可取的做法是将私有数据和持久性数据附加到对象中。JavaScript 不支...2014-05-31
  • 基于事件冒泡、事件捕获和事件委托详解

    这篇文章主要介绍了事件冒泡、事件捕获和事件委托,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-08
  • 利用JQuery阻止事件冒泡

    冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。本文主要介绍JQuery阻止事件冒泡的实例解析。需要的朋友来看下吧 ...2016-12-02
  • c# 冒泡排序算法(Bubble Sort) 附实例代码

    这篇文章主要介绍了c# 冒泡排序算法,需要的朋友可以参考下...2020-06-25
  • GOLANG版的冒泡排序和快速排序分享

    这篇文章主要介绍了GOLANG版的冒泡排序和快速排序分享,需要的朋友可以参考下...2020-05-11
  • C#快速排序算法实例分析

    这篇文章主要介绍了C#快速排序算法,实例分析了C#排序方法的相关技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • C语言对数组元素进行冒泡排序的实现

    这篇文章主要介绍了C语言对数组元素进行冒泡排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-04
  • PHP中实现冒泡排序和快速排序算法示例

    冒泡排序和快速排序算法在开发应用中各有优点了,下面我们来看几个关于php排序的几个例子。 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组。 使用PHP描...2016-11-25
  • c语言实现冒泡排序、希尔排序等多种算法示例

    c语言实现插入排序、冒泡排序、选择排序、快速排序、堆排序、归并排序、希尔排序示例,需要的朋友可以参考下...2020-04-25
  • c++冒泡排序详解

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。...2020-04-25
  • php实现冒泡排序实例

    冒泡排序我们排序算法中的许多中的其中一样了,这里我们一起来了解一下php实现冒泡排序实现方法与原理,具体如下。 一个程序应包括: 对数据的描述:在程序中要指定数...2016-11-25
  • C语言对磁盘文件进行快速排序简单实例

    这篇文章主要介绍了C语言对磁盘文件进行快速排序简单实例的相关资料,需要的朋友可以参考下...2020-04-25
  • php项目开发中用到的快速排序算法分析

    这篇文章主要介绍了php项目开发中用到的快速排序算法,结合实例形式详细分析了php快速排序的原理与使用方法,需要的朋友可以参考下...2016-07-02
  • C#使用委托实现的快速排序算法实例

    这篇文章主要介绍了C#使用委托实现的快速排序算法,实例分析了C#委托机制与快速排序算法的实现技巧,需要的朋友可以参考下...2020-06-25
  • c#冒泡排序示例分享

    这篇文章主要介绍了c#冒泡排序示例分享,需要的朋友可以参考下...2020-06-25
  • PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

    小编推荐的这篇文章介绍了PHP常用排序算法实例小结,基本排序,冒泡排序,快速排序,插入排序,非常实用,有兴趣的同学快来看看吧。 代码如下复制代码classbevin{public$pub...2017-07-06
  • C语言简单实现快速排序

    快速排序是一种不稳定排序,这篇文章主要为大家详细介绍了C语言简单实现快速排序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25