Blogger Information
Blog 30
fans 0
comment 1
visits 24057
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0107,php知识总结,常量/数组。
Original
525 people have browsed it

常量

常量简单的说就是开发过程中需要的一个固定的不轻易去改变它的一个值,去创建这样一个值就叫常量(目前我的理解),常量名不需要使用“$”符号,但是命名必须遵循PHP命名规范,推荐使用大写,以方便和变量进行区别。
常量可以用函数define("常量名","常量值")或者用关键字const创建。
define()创建:

  1. <?php
  2. $country = '中国' ;
  3. define("WLC" , $country . "欢迎您");

效果图

const创建:

  1. <?php
  2. const A = '努力学习';
  3. echo A ;

效果图

从上面的例子可以看出defineconst创建常量是有区别的,define可以用表达式创建常量,const只能用字面量

单引号与双引号

单引号不会解析转义符、变量。

  1. <?php
  2. $country = '中国';
  3. echo '我出生在\t . $country';



上面的特殊字符变量名并没有被解析出来,只会按照字面量进行输出。
双引号

  1. <?php
  2. $country = '中国';
  3. echo "我出生在\t$country";



上面的特殊字符变量名被解析出来

数组(索引数组、关联数组、多维数组)

数组就是把多个元素(可以理解为变量的值)放在一个数组(可以理解为变量)里面,由多个变量值组成的合集。
索引数组:存放元素的房间号为数值的是索引数组。

  1. <?php
  2. $arr = [10,20,30];
  3. echo '<pre>', print_r($arr,true) ,'<pre>';
  4. echo '<hr>';
  5. echo $arr[0];

图1

图2

多个元素统一创建

  1. <?php
  2. $arr = [10,20,30];
  3. echo '<pre>', print_r($arr,true) ,'<pre>';
  4. echo '<hr>';

逐个创建

  1. <?php
  2. $arr2[] = 30;
  3. $arr2[] = 40;
  4. $arr2[] = 50;
  5. echo '<pre>', print_r($arr2,true) ,'<pre>';

从效果图可以看出,创建方式对最终效果没有影响

关联数组:存放元素房间号,有具体语义化定义的为关联数组

  1. <?php
  2. $arr2 = ['id'=>'101' , 'name'=>'张飞' , 'force'=>90];
  3. echo '<pre>', print_r($arr2,true) ,'<pre>';
  4. echo '<hr>';
  5. echo $arr2['name'];

图1

图2

关联数组与索引数组一样分为统一创建,与逐个创建

  1. <?php
  2. // 统一创建
  3. $arr2 = ['id'=>'101' , 'name'=>'张飞' , 'force'=>90];
  4. echo '<pre>', print_r($arr2,true) ,'<pre>';
  5. echo '<hr>';
  6. // 逐个创建
  7. $arr3['id']='102';
  8. $arr3['name']='关羽';
  9. $arr3['force']=95;
  10. echo '<pre>', print_r($arr3,true) ,'<pre>';



多维数组:可以理解为数组的嵌套,一般嵌套两层(索引数组里面嵌套关联数组),太多了会混乱。

  1. <?php
  2. // 创建二维数组
  3. $arr4 = [
  4. ['id'=>'101' , 'name'=>'张飞' , 'force'=>90],
  5. ['id'=>'102' , 'name'=>'关羽' , 'force'=>95],
  6. ];
  7. echo '<pre>', print_r($arr4,true) ,'<pre>';
  8. echo '<hr>';
  9. // 访问0号房间(索引数组)里面的元素(关联数组)中‘name’房间号里面的具体元素。
  10. echo $arr4[0]['name'] , '<br>';
  11. // 访问1号房间(索引数组)里面的元素(关联数组)中‘name’房间号里面的具体元素。
  12. echo $arr4[1]['name'] , '<br>';

图1

图2

关于数组比较常用的函数

把索引数组转换为字符串并用任意符号链接起来使用implode函数。

格式为‘接收转换后的变量名’ = implode(‘分隔符’,需要转换的数组变量名)

  1. <?php
  2. $arr = [10,20,30];
  3. // 把数组转为字符串
  4. $str = implode('+' , $arr);
  5. // 获取转换后的变量类型
  6. echo '转换后的类型为:'. gettype($str);
  7. // 转换后的变量输出结果
  8. echo '<br>';
  9. echo '转换后str的值为:'. $str ;



能把数字转为字符串,也就能把字符串转为数组,使用explode函数实现。

格式为‘接收转换后的变量名’ = explode(‘分隔符必须和字符串使用的分隔符相同’,需要转换的字符串变量名)

  1. <?php
  2. $arr = [10,20,30];
  3. // 把数组转为字符串
  4. $str = implode('+' , $arr);
  5. // 获取转换后的变量类型
  6. echo '转换后的类型为:'. gettype($str);
  7. // 转换后的变量输出结果
  8. echo '<br>';
  9. echo '转换后str的值为:'. $str .'<hr>';
  10. // 把字符串转为数组,分隔符必须和字符串使用的分隔符相同
  11. $arr1 = explode('+',$str);
  12. // 获取转换后的变量类型
  13. echo '转换后的类型为:'. gettype($arr1);
  14. // 转换后的变量输出结果
  15. echo '<br>';
  16. echo '<pre>', print_r($arr1,true) ,'<pre>';


extract把关联数组元素转换为变量

格式为:extract(需要转换的数组名)

  1. <?php
  2. $animal = ['D'=>'Dog', 'C'=>'Cat','H'=>'Horse'];
  3. // 把关联数组$animal里面的元素转为变量,其房间号就为变量名,里面具体元素值为变量值
  4. extract($animal);
  5. // 输出转为变量后的值
  6. echo "\$D的值为$D<br>\$C的值为$C<br>\$H的值为$H";

图1

图2

compact把多个变量转为关联数组

格式为:接收转换后的关联数组名称 = compact('需要转换的变量名不需要加$符号','需要转换的变量名不需要加$符号')

  1. <?php
  2. $R = 'Rabbit' ; $L = 'Lion' ; $T = 'Tiger' ;
  3. // 把对应变量转为关联数组
  4. $animal2 = compact('R','L' ,'T');
  5. echo $R.'<br>'.$L.'<br>'.$T;
  6. echo '<pre>', print_r($animal2,true) ,'<pre>';

图1

图2

好啦,关于今天的知识就学习到这里了,下次提交关于流程控制与循环的知识。

为了生活最近太忙了,好不容易有时间可以补一下课程和作业,选择了就不要放弃,再累都要努力。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:希望能在最后的一节课还能见到你, 继续努力,坚持到底
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post