PHP基础巩固

PHP基础巩固(一)

Php变量类型(8种):整型,浮点型,字符串,数组,布尔,对象,资源

Echo 适合打印整形,字符串,bool类型ture输出1,false不输出,array只打印类型及输出array;

Isset $a=NULL;isset($a)=false;

Bool为false的变量:’’ 、’0’、0、0.0、NULL、false、array()。

类型强制转换,允许的强制转换有:

  • (int), (integer) - 转换为整形 integer
  • (bool), (boolean) - 转换为布尔类型 boolean
  • (float), (double), (real) - 转换为浮点型 float
  • (string) - 转换为字符串 string
  • (array) - 转换为数组 array
  • (object) - 转换为对象 object
  • (unset) - 转换为 NULL (PHP 5)
  • (binary) 转换和 b 前缀转换支持为 PHP 5.2.1 新增。将字符串文字和变量转换为二进制字符串
  • <?php
    $binary  = (binary)$string ;
    $binary  b"binary string" ;
    ?>

表达式

gettype()

empty()

is_null()

isset()

boolean : if($x)

$x = "";

string

TRUE

FALSE

TRUE

FALSE

$x = null;

NULL

TRUE

TRUE

FALSE

FALSE

var $x;

NULL

TRUE

TRUE

FALSE

FALSE

$x is undefined

NULL

TRUE

TRUE

FALSE

FALSE

$x = array();

array

TRUE

FALSE

TRUE

FALSE

$x = false;

boolean

TRUE

FALSE

TRUE

FALSE

$x = 0;

integer

TRUE

FALSE

TRUE

FALSE

$x = "0";

string

TRUE

FALSE

TRUE

FALSE

变量赋值与引用赋值

$a=12;$b=7;

$a=$b;//a=7,b=7;

$a=17;//a=17,b=7;

变量赋值:就好比两个人看两台电视一个人换台不影响另一个人,如果你想和我看我看的台比如30台,我告诉你,你调到30台就好了,但你要换台,对我没影响。

 

$a=5;$b=7;

$a=&$b;//a=7,b=7;

$a=10;//a=10,b=10;

引用赋值:我在看电视,你在打游戏,你不打游戏了,要来看电视,这样我们两个人看同一台电视,你要换台,那我也只能看你换的台了,你变我就变。

销毁变量:unset

$a=10; Unset($a)=> $a is undefined

动态变量:$$a;

算数运算符:%,取余算法时,结果取决于被除数的正负。

-10%3=-1;

比较运算符:==与===

===恒等,类型与之相同时为真一般用于与0相关的判断使用,比如查索引,字符串首次出现的位置。

例:

$a='abcd';

$b=stripos($a,'a');//返回0;

$c=stripos($a,'4'); //返回bool(false);

if(!(stripos($a,'a')===false)){

    echo '找到了a'; //结果为找到了a;

}

else{

echo '没找到a';

}

递增递减运算符:

$a=5;

$b=$a++;//a=6,b=5;执行过程:$b=$a;$a=$a+1;

$a=5;                                     

$b=++$a;//a=6,b=6;执行过程:$a=$a+1;$b=$a;

函数不区分大小写。

函数作用域:

局部变量、全局变量、超级全局变量(在页面的任何部分都可以访问$_get)。

动态调用函数:

function fun(){

echo ‘你好!’;

}

fun();

=>$hello=’fun’;

$hello();

时间戳函数:time();microtime();返回到微秒数。Microtime(true);

时间戳格式化:date();date(‘Y-m-d H:i:s’,time());

Mktime([时,分,秒,月,日,年]);时间转时间戳

Strtotime(‘now’);

Strtotime(‘now +1 day’);

Checkdate(月,日,年);检测日期是否合法,返回true,false

字符串定义方式:

定义大段文本:heredoc、nowdoc

//注:HTML不是固定的,可自定义

//内部变量也解析,同“”,‘’的区别,用法同“”。

//结束表示符必须独占一行,且必须顶格写,最后以 ‘;’分号结尾。

$str=<<<HTML

Hello word

Abc

Ok now

HTML;

Echo $str;

//nowdoc,定义头标签要加‘’,内部变量不解析,同“”,‘’的区别,=》‘’。

$str=<<<‘INFO

Hello word

Abc

Ok now

INFO;

Echo $str;

单引号只能转义单引号\’与反斜线\\

字符串常用函数:

Strlen()//返回字符串长度int型,按字节数,utf-8,一个中国字占三个字节。

Mb_strlen($str,“编码”);//按字符数

Substr($str,index,[length]);//length<0,表示剩余几个不截,index<0表示从//后往前数从第几个开始截。

数组:

数组的游标操作:current(),next(),prev(),end(),reset(),each()。

each()函数返回输入数组当前键/值对,并将指针推进一个位置。返回的数组包含四个键,键0和key包含键名,而键1和value包含相应的数据。如果执行each()前指针位于数组末尾,则返回FALSE。

list — 把数组中的值赋给一些变量

使用数组游标遍历数组,出现问题:

$arr=array(1,2,3,false,4,5);

print_r($arr);

echo "<br/>";

while($v=current($arr)){

    echo $v;   //123

    next($arr);

}

用each();

reset($arr);

echo "<pre>";

print_r(each($arr));

echo "</pre>";

输出:

Array

(

    [1] => 1

    [value] => 1

    [0] => 0

    [key] => 0

)

reset($arr);

while(list($key,$value)=each($arr)){

    echo "<pre>";

    echo $key,'---',$value;

    echo "</pre>";

   

};

 while($arr1=each($arr)){

    echo "<pre>";

    print_r( $arr1);

    echo "</pre>";

 

};

一只羊,第一年生一只小羊,第三年生一只小羊,第五年死亡,二十年后有多少只羊?

01234

$yang=array(1,0,0,0,0);

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

    $tmp=$yang[1]+$yang[3];

    array_unshift($yang,$tmp);

    array_pop($yang);

}

print_r($yang);

echo array_sum($yang);

 

这是一个猴子选大王的题目
猴子按1,2..........n编号,坐一圈,从第一只按1,2.....m报数,报m的退出,一直循环,直到剩一只,输出大王的号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值