PHP变量与常量学习

<?php
// php的打印与输出
// 1.echo"显示"输出内容到浏览器 没有返回值
// 2.print'打印' 有返回值 可用于三元运算符中
// var_dump()可以返回变量的完整信息
// 4.print_r()打印输出数组,第二个参数设置为true 可以将变量的信息转换成字符串,
// 不输出到浏览器,只是返回,通常用于线上调试


echo 'how you doing?<br>';

$res = print'你好';
echo '<hr>';
var_dump($res);

echo'<hr>';

$tel = 123456789;
//  echo $tel,$tel,tel;
echo $tel . '||' . $tel . '||' . $tel;
//  ob_clean();

$arr = ['花生','玉米','火龙果','青苹果',45,63,33];
//echo $arr// Warning:  Array to string conversion in 
echo'<pre>';
print_r($arr);
echo'<hr>';
var_dump($arr);

$arr2 = ['uniapp','thinkphp','bootstrap'];
$res = print_r($arr2,true);
file_put_contents('log.txt','调错信息:'.$res);//file_put_contents 函数将这个字符串写入名为 log.txt 的文件中。这个函数不会关心文本的格式,它只会将给定的字符串写入文件。

?>

   <!-- 2 -->
<?php
 //  php变量 8种数据类型 4标量类型 2符合类型(数组,对象) 2特殊类型(null,resource)

 // 标量类型  布尔型boolean 整形int 字符串string  浮点型float
 $username = 'admin';
 $username=123;
 $username=23.32;
 $username=true;
  
 echo $username;
 
 var_dump( $username );



 //  数组//打印数组var_dump,print_r
 // 索引数组:下表为整型的数组
 $arr = [1,2,3,4,'admin'];
 echo '<pre>';
 var_dump($arr);


 //  <!-- 关联数组:下标为字符串的数组 -->
 $info = [ 'uname'=>'chloe', 'email'=>'951242@qq.com','age'=>28,'gender'=>0];
 var_dump($info);

 // 数组的访问
 echo $arr[4].'<br>';
 echo $info['email'];


 //  对象 类实例化的结果 class声明类
 //  class NBaplayer{ 

 //  }
 //  $jordan = new NBaplayer


 //  null  1.表示一个变量没有值 空  
 // 2.不表示空格 空字符串 零
 // 3.不区分大小写
 //   ob_clean();//清空缓存区的内容(上面的内容清空)

 $int = 34;
 var_dump($int);
 // 如何声明一个变量为空
 // 1.
  $int = null;
  echo '<br>';
  var_dump($int);

 // 2.unset释放变量
  $username = 'xi xi';  
  unset($username);
  @var_dump($username);//@错误抑制符

  //resource 资源类型 保存到外部资源的一个引用
  $handle=fopen('log.txt','w');//fopen() 函数用于打开文件或者 URL。尝试以写入模式('w')打开名为 log.txt 的文件。如果文件已存在,这个操作会覆盖文件内容(即删除原有内容),如果文件不存在,则会创建该文件。
 //   var_dump($handle);//resource(4) of type (stream)


 // php变量类型转换
 // 强制类型转换(临时) 应用于url query string parameter
 //    var_dump($_GET['page']);//string(1) "2"
 // 分页数据必须是整型,才能计算偏移量 offset
 $page = (int)$_GET['$page'];
 echo'<br>';
 var_dump($page);

 if($page === 10)
 {
    echo'数据正常';
 }else{
    echo'非法数据';
 }


 $uid = 25;
 //  var_dump($uid,(string)$uid,(float)$uid);
 var_dump((array)$uid,((array)$uid)[0]);//转化数组-访问数组

 //  系统自动转换变量类型
 $foo = '100pages';
 @$foo += 200;//$foo = $foo+200;
 var_dump($foo);//300


 echo'<hr>';
 $foo += 12.8;
 var_dump($foo);//312.8


 @$res = null + '10kg rice';
 var_dump($res);//10kg


 @$res = 5 + '10kg rice';
 var_dump($res);//15


 $user = ' chloe';
 //字符串的拼接
 echo 'how you doing '.$user;
 echo '<hr>';

 //  bool类型的转换
 @var_dump($email);//null
 // null<===> false
 if(!@$email)//@错误抑制符
 {
    echo'你好';
 }


 $p = $_GET ['page'];
 echo gettype($p);//string
 echo gettype((int)$p);//integer只是临时转换
 echo gettype($p);//string

 echo 'hr';

 //永远转化变量类型

 settype($p,'integer');//settype() 函数用于设置变量的类型
 echo gettype($p);//integer,gettype() 函数用于获取变量的类型。

//  变量:代码中需要暂存的数据载体 可以复用 按名访问
// php变量命名规则
// 1.变量规则要让你的partner望文生意
// 2.变量名不能以数字开头,可以以字母或者下划线开头后面跟上字母数字下划线
// 3.变量是区分大小写,函数不区分大小写 // 4.多个单词组成的变量 itemprice itemPrice itemName itenDesc $_3site = 'taobao.com'; echo $_3site; $useername = 'chloe'; $USERNAME = 'admin'; echo $USERNAME; // var_dump($username); // VAR_DUMP($USERNAME); // ECHO SHA1('wwwphpcn');//1104b72387fbe4f71ca25616b135407b0dfc4552 // 变量赋值 // 1.传值赋值 // 2.引用赋值 & // 传值赋值 将源变量$a的值 复制出来一份新的值 内存空间地址给另一个变量$b,修改两个变量的值 互不影响 $a = 45; $b = $a; printf('$a的值为%d,$b的值为%d<br>',$a,$b);//%d 格式化说明符,//$a的值为45,$b的值为45 $a = 450; // printf('$a的值为%d,%b的值为%d<br>',$a,$b);//$a的值为450,$b的值为45 // 引用赋值 & 地址引用符:不存在复制操作 引用赋值更加快捷 // 新变量$price2引用/指向了原始变量(空间地址),互相影响 $price1 = 8888; $price2 = &$price1;
//$a的值为8888,$b的值为8888
printf('$price1的值为%d,$price2的值为%d<ber>',$price1,$price2);
$price1 = 7999; printf('$price1的值为%d,$price2的值为%d<ber>',$price1,$price2);//$a的值为7999,$b的值为799// 变量的检查与释放 // isset()检测变量是否被被定义 存在并且不为null返回true,否则返回false
var_dump(isset($pwd)); 
if(isset($pwd)) {
echo'用户密码填写了'; }

//empty()检测一个变量是否为空,为空才返回true 不为空返回false

$username = 'admin';
var_dump(empty($username));
if(isset($username) && !empty($username))
{
echo '用户名存在';
}

$token = '';
var_dump(empty($token));//true

$token = 0;
var_dump(empty($token));//true

$token = false;
var_dump(empty($token));//bool(true)

$token = 1;
var_dump(empty($token));//bool(false)

$token = true;
var_dump(empty($token));//bool(false)
// 释放
// unset()释放掉的变量 变为空

// 常量
// 1.固定值,常量不能被从新定义 不能被取消
// 2.常量的命名前不能$
// 3.常量的明名推荐全部大写
// 4.php全局成员:常量 函数 类 接口 (不接受作用域的限制)
// 变量不是全局变量,严格受作用域的限制

// 定义常量
// 1.define()
define('NATION','china');
echo NATION;

//2. Const关键字 字面量 定义常量
const USER_NOT_EXSIT = '用户不存在';
echo json_encode(['msg'=>USER_NOT_EXSIT],320);

//%s整形,%d字符串
printf('国籍:%s',NATION);
class User{
// 类常量只能用const关键字声明
const APP_PATH = "/0802/part1";
}

// 常量必须初始化赋值
$height;
const GENDER = '女';

// 变量作用域
// 函数体外声名的变量的全局变量
$one = 200; $two = 300;
function add(int $a,int $b):string
{
return $a+$b;
}
// var_dump(add(1,2));
// var_dump(add($one,$two));

function add1() {
$a = 10; $b = 11; echo ($a+$b);
}
add1();
echo $a;//非法访问 在函数外部不能访问函数内部定义的全局变量s ?>

  

posted @ 2024-07-02 23:11  好好学习天天向上上上  阅读(6)  评论(0编辑  收藏  举报