PHP基础

<?php
/*
    常量
*/
echo "<br/>"."/*常量*/"."<br/>";
define("MESSAGE","once");//大小写敏感
echo MESSAGE."<br/>";
//echo Message."<br/>";
define("COUNT","multi",true);//大小写不敏感
echo COUNT."<br/>";
echo Count."<br/>";
echo constant("count")."<br/>";//constant获取常量值
echo defined("MESSAGE");//defined判断是否已经被赋值

echo "当前文件路径:".__FILE__."<br/>";
echo "行数:".__LINE__."<br/>";
echo "PHP版本信息:".PHP_VERSION."<br/>";
echo "OS:".PHP_OS."<br/>";

/*
    变量
*/
echo "<br/>"."/*变量*/"."<br/>";
$a = 10;//直接赋值
$b = $a;//传递赋值
$c = &$b;//引用赋值
echo '$a='.$a."<br/>";
echo '$b='.$b."<br/>";
echo '$c='.$c."<br/>";
$c = 20;
echo '$a='.$a."<br/>";
echo '$b='.$b."<br/>";
echo '$c='.$c."<br/>";
/作用域
//局部变量
echo "<br/>"."/*局部变量*/"."<br/>";
function example() {
    $a ="hello php!";
    echo '内部'.$a."<br/>";
}
example();
echo '外部'.$a."<br/>";
//全局变量
echo "<br/>"."/*全局变量*/"."<br/>";
function globala() {
    $a = 100;
    global $a;//用global申明,可使用在函数外部定义的变量
    echo 'echoa $a='.$a."<br/>";
}
globala();
//静态变量
echo "<br/>"."/*静态变量*/"."<br/>";
function statica() {
static $statica=10;
$statica++;
echo 'static $a='.$statica."<br/>";
}
statica();
statica();
/可变变量
echo "<br/>"."/*可变变量*/"."<br/>";
$d = "bla";
$$d="blabla";//可变变量
echo '变量$d='.$d."<br/>";
echo '可变变量$$d='.$$d."<br/>";
echo '变量$bla='.$bla."<br/>";//输出变量bla

/*
    PHP数据类型
*/
echo "<br/>"."/*PHP数据类型*/"."<br/>";
标量数据类型boolean\string\integer\float
$boola = TRUE;
$boolb = FALSE;
echo 'boolean TRUE='.$boola.' FLASE='.$boolb.' end'."<br/>";
echo 'PHP字符串 回车\r'."\r".'回车换行 \n'."\n".'横向跳到下一制表符位置 \t'."\t";//空格&nbsp
echo <<<EOF
    <p>界定符输出 结束注意顶格及后方不可带其余文字</p>
EOF;
$str1 = 1234;//十进制
$str2 = 01234;//八进制
$str3 = 0x1234;//十六进制
echo '十进制:'.$str1.' 八进制:'.$str2.' 十六进制:'.$str3."<br/>";
$float1 = 1.036;
$float2 = 2.035;
$float3 = 3.58E1;//即为3.58*10^1
echo '$float1='.$float1.' $float2='.$float2.' $float3='.$float3."<br/>";
复合数据类型array(数组)/object(对象)
$array[0]="array0";
$array[1]="array1";
$array[2]="array2";
$array2=array(0=>'b0',1=>'b1',2=>'b2','three'=>'b3');
echo '$array:'.$array[2]."<br/>";
echo '$array2:'.$array2['three']."<br/>";
特殊数据类型resource(资源)/null(空值)
$strnull1;//没有赋值为null
$strnull2 = null;
$strnull3 = 3;
unset($strnull3);//使用unset()处理后,$strnull3为空
转换数据类型
echo "<br/>";
$_2b = (boolean)2;
//$_2b = (bool)2;
echo '$_2b='.$_2b."<br/>";
$_2str = (string)2;
echo '$_2str='.$_2str."<br/>";
$_2int = (int)1.6;
//$_2int = (integer)1.3;
echo '$_2int='.$_2int."<br/>";
$_2flo = (float)2;
//$_2flo = (double)2;
//$_2flo = (real)2;
echo '$_2flo='.$_2flo."<br/>";
$_2arr = (array)2;
echo '$_2arr='.$_2arr[0]."<br/>";
$_2obj = (object)2;
//详情p33
检测数据类型
echo "<br/>";
echo 'is_bool?'.is_bool($a).'end'."<br/>";
echo 'is_string?'.is_string($a).'end'."<br/>";
echo 'is_float?或is_double?'.is_float($a).'end'."<br/>";
echo 'is_integer?或is_int?'.is_integer($a).'end'."<br/>";
echo 'is_null?'.is_null($a).'end'."<br/>";
echo 'is_array?'.is_array($a).'end'."<br/>";
echo 'is_object?'.is_object($a).'end'."<br/>";
echo 'is_numeric?'.is_numeric($a).'end'."<br/>";//是否为数字或由数字组成的字符串

/*
    PHP运算符
*/
echo "<br/>"."/*PHP运算符*/"."<br/>";
/算术运算符
$calca = 5;
$calcb = 9;
echo 'a+b ='.($calca+$calcb)."<br/>";//优先级问题 不加()显示$calcb
echo 'a-b ='.($calca-$calcb)."<br/>";//优先级问题 不加()显示-$calcb
echo 'a*b ='.$calca*$calcb."<br/>";
echo 'a/b ='.$calca/$calcb."<br/>";
echo 'a%b ='.$calca%$calcb."<br/>";
字符串运算符
echo $a.$b."<br/>";
赋值运算符
echo '$a *= $b =>'.($a *= $b)."<br/>";
位运算符&与 |或 ^异或 ~按位取反 <<左移 >>右移
//具体指将二进制位从低位到高位对齐后运算
$m = 8;//二进制为1000
$n = 12;//二进制为1100
echo '$m&$n => '.($m&$n)."<br/>";//按位与1000转为十进制(8)
echo '$m|$n => '.($m|$n)."<br/>";
echo '$m^$n => '.($m^$n)."<br/>";
echo '~$m => '.(~$m)."<br/>";
echo '$m<<1 => '.($m<<1)."<br/>";//左移1位 10000(16)
echo '$m>>1 => '.($m>>1)."<br/>";//右移1位 100(4)
递增和递减运算符++ --
逻辑运算符&&或and   ||或or  xor(异或)  !(非)
计较运算符< > <= >= ==(相等) != ===(恒等 相等且数据类型相同) !==(非恒等 不相等且数据类型不同) 
三元运算符
echo (is_string($a))?$a:"not string!";
元算服优先级

?>
结果:

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值