数组换位置一.介绍 PHP(外文名:PHP: Hyperte(6)
冒泡排序:俩俩比较大小交换位置
<?php
$arr = array(10,10,5,4,3,6,1,8);
$len = count($arr);
for($i=0; $i<$len-1; ++$i){
for($j=0; $j<$len-$i-1; ++$j){
($arr[$j] > $arr[$j+1]) && change($arr[$j], $arr[$j+1]);
}
}
function change(&$v1, &$v2){
$v1 += $v2;
$v2 = $v1 - $v2;
$v1 -= $v2;
}
var_dump($arr);
选择排序:选择出最大的与最后一个交换
<?php
$arr = array(10,10,5,4,3,6,1,8);
$len = count($arr);
for($i=0; $i<$len-1; ++$i){
$max = 0;
for($j=1; $j<$len-$i; ++$j){
($arr[$j] > $arr[$max]) && $max = $j;
}
($max != $len-$i-1) && change($arr[$len-$i-1], $arr[$max]);
}
function change(&$v1, &$v2){
$v1 += $v2;
$v2 = $v1 - $v2;
$v1 -= $v2;
}
var_dump($arr);
顺序查找:直接foreach
二分查找:必须是排好序并且下标连续的数组
效率:2^n个数据,需要n次查找
<?php
class myClass{
public $v1 = 123;
public function myfunc(){
echo $this->v1;
}
}
$myobj = new myClass();
echo $myobj->v1;
$myobj->myfunc();
资源 resource 是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。
变量没有指向任何空间
getType(变量名):获取一个变量的类型名称
setType(变量名,目标类型字符串):设置一个变量的类型
is_XX类型()系列函数:判断某个数据是否是某种类型,包括:
is_int()
is_float()
is_bool()
is_numeric()
is_array()
is_string()
is_scalar():判断是否为标量类型(即int,float,stirng,bool)
<?php
$v1 = 123;
echo getType($v1)."---";
echo setType($v1, ‘string‘)."---";
echo is_int($v1)."---";
echo is_string($v1)."---";
自动转换是弱类语言的一个最基本也最方便的一个特征:它会在各种运算中根据运算符的需要也将非该运算符所能处理的数据转换为可以处理的数据。
if(数据){}:转为bool类型
算术运算符:转为数字类型
连接运算符:转为字符串类型
http://www.jiaoanw.com/%E6%95%99%E6%A1%88%E6%A0%BC%E5%BC%8F/article-25814-6.html
http://www.jiaoanw.com/
true
教案网
http://www.jiaoanw.com/%E6%95%99%E6%A1%88%E6%A0%BC%E5%BC%8F/article-25814-6.html
report
1775
冒泡排序:俩俩比较大小交换位置 ?php$arr = array(10,10,5,4,3,6,1,8);$len = count($arr);for($i=0; $i$len-1; ++$i){ for($j=0; $j$len-$i-1; ++$j){ ($arr[$j] $arr[$j+1]) change($arr[$j], $ar
不如生活成本涨得快