首页 开发编程 正文

php怎么用if(php中常用的选择结构语句有哪几种)

//遍历树O(log2n)functionbianli($p){$a=array();=1){return$a;$a[0]){$l[]=$a[$i];}else{$r[]=$a[$i];}}$l=kuaisu($l);$a[$j]){$t=$a[$j];$a[$j]=$a[$i];$a[$i]=$t;for($i=0;$a[$j]=$...

php中常用的选择结构语句有哪几种?

php中常用的选择结构语句有if单分支结构,ifelse分支结构和ifelseif多分支选择结构。

单分支语句条件判断语句也称单分支语句,当满足某种条件时,就进行某种处理。例如,只有年龄大于等于18周岁,才输出已成年,否则无输出,if…else语句也称双分支语句,当满足某种条件时,就进行某种处理,否则进行另一种处理。例如,判断一个学生的年龄,大于等于18岁则是成年人。否则是未成年人。

php常用算法和时间复杂度?

按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3)

复制代码 代码如下:

//二分查找O(log2n)

function erfen($a,$l,$h,$f){

if($l >$h){ return false;}

$m = intval(($l+$h)/2);

if ($a[$m] == $f){

return $m;

}elseif ($f < $a[$m]){

return erfen($a, $l, $m-1, $f);

}else{

return erfen($a, $m+1, $h, $f);

}

}

$a = array(1,12,23,67,88,100);

var_dump(erfen($a,0,5,1));

//遍历树O(log2n)

function bianli($p){

$a = array();

foreach (glob($p.'/*') as $f){

if(is_dir($f)){

$a = array_merge($a,bianli($f));

}else{

$a[] = $f;

}

}

return $a;

}

//阶乘O(log2n)

function jc($n){

if($n<=1){

return 1;

}else{

return $n*jc($n-1);

}

}

//快速查找 O(n *log2(n))

function kuaisu($a){

$c = count($a);

if($c <= 1){return $a;}

$l = $r = array();

for ($i=1;$i<$c;$i++){

if($a[$i] < $a[0]){

$l[] = $a[$i];

}else{

$r[] = $a[$i];

}

}

$l = kuaisu($l);

$r = kuaisu($r);

return array_merge($l,array($a[0]),$r);

}

//插入排序 O(N*N)

function charu($a){

$c = count($a);

for($i=1;$i<$c;$i++){

$t = $a[$i];

for($j=$i;$j>0 && $a[$j-1]>$t;$j--){

$a[$j] = $a[$j-1];

}

$a[$j] = $t;

}

return $a;

}

//选择排序O(N*N)

function xuanze($a){

$c = count($a);

for($i=0;$i<$c;$i++){

for ($j=$i+1;$j<$c;$j++){

if($a[$i]>$a[$j]){

$t = $a[$j];

$a[$j] = $a[$i];

$a[$i] = $t;

}

}

}

return $a;

}

//冒泡排序 O(N*N)

function maopao($a){

$c = count($a);

for($i=0;$i<$c;$i++){

for ($j=$c-1;$j>$i;$j--){

if($a[$j] < $a[$j-1]){

$t = $a[$j-1];

$a[$j-1] = $a[$j];

$a[$j] = $t;

}

}

}

return $a;

}

复制代码 代码如下:

/**

* 排列组合

* 采用二进制方法进行组合的选择,如表示5选3时,只需有3位为1就可以了,所以可得到的组合是 01101 11100 00111 10011 01110等10种组合

*

* @param 需要排列的数组 $arr

* @param 最小个数 $min_size

* @return 满足条件的新数组组合

*/

function plzh($arr,$size=5) {

$len = count($arr);

$max = pow(2,$len);

$min = pow(2,$size)-1;

$r_arr = array();

for ($i=$min; $i<$max; $i++){

$count = 0;

$t_arr = array();

for ($j=0; $j<$len; $j++){

$a = pow(2, $j);

$t = $i&$a;

if($t == $a){

$t_arr[] = $arr[$j];

$count++;

}

}

if($count == $size){

$r_arr[] = $t_arr;

}

}

return $r_arr;

}

$pl = pl(array(1,2,3,4,5,6,7),5);

var_dump($pl);

php怎么绕过登陆验证,无数据库版本,有md5?

下面是登陆规则:

if($action=="login"){

$adminuser = var_request("username","");

$adminpass = md5(var_request("password",""));

if($adminuser==$manage_adminname && $adminpass == $manage_adminpass ){

SetCookie("COOKIEadminuser", $adminuser);

$_SESSION['adminuser'] = $adminuser;

php异或算法?

/**

* PHP字符串“异或”算法

* param array key

* @param Request $request

* @return mixed|string|void

*/

public function setSecretKey(Request $request){

$keyArr = $request->input('key');

if(!is_array($keyArr) || empty($keyArr))

return;

foreach ($keyArr as $v){

if(empty($v) || (strlen($v) != 32)){

return;

}

}

if(count($keyArr) == 1)

return $keyArr[0];

$arrLength = count($keyArr);

$initKey = "00000000000000000000000000000000";

$initKeyArr = str_split($initKey);

for($i = 0;$i < $arrLength;$i++){

$newKey = '';

for($j = 0;$j < strlen($keyArr[$i]);$j++){

$str = '';

$tmpArr = str_split($keyArr[$i]);

$tmpA = str_pad(base_convert($tmpArr[$j],16,2),4,0,STR_PAD_LEFT);

$tmpB = str_pad(base_convert($initKeyArr[$j],16,2),4,0,STR_PAD_LEFT);

for($k=0;$k<strlen($tmpA);$k++){

$str .=(intval($tmpA[$k]) ^ intval($tmpB[$k]));

}

$tmpOneKey = strtoupper(base_convert($str,2,16));

unset($str);

$newKey .= $tmpOneKey;

}

unset($initKeyArr);

$initKeyArr = str_split($newKey);

}

return join($initKeyArr);

}

php如何判断数组为空?

数组为空.指的是数组里面没有包含任何元素.判断数组为空的方式有很多种:以下 一一列出来empty($array_test) //如果数组$array_test为空那么这个函数返回trueif($array_test) //如果数组为空.那么if的条件判断为falsecount($array_test) //计算数组元素个数.为0就是空sizeof($array_test) //count() 的别名 用法和返回一样//实际上还有一些方式可以判断数组是否为空.常用的就是这些补充一下如果数组没有被定义还可以使用isset($array_test)//判断数组是否被定义

本文转载自互联网,如有侵权,联系删除