MAMP PRO集成php开发环境使用

弱类型语言

变量作用域(4种

local

  • 局部

    函数种使用全局变量的方式-global 关键字使用

    ```php <?php $x=5; $y=10;

function myTest() { global $x,$y; $y=$x+$y; }

myTest(); echo $y; // 输出 15 ?>

  1. <a name="HCfb8"></a>
  2. ### GLOBALS数组变量的含义
  3. ```php
  4. <?php
  5. function myTest()
  6. {
  7. $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
  8. }
  9. ?>
  10. //echo "变量 y 为: $y";
  11. // PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。
  12. //这个数组可以在函数内部访问,也可以直接用来更新全局变量。

global

  • 全局 函数外部定义的变量,在脚本中任何地方都可以进行访问 ```php <?php $x=5; // 全局变量

// php 变量作用域 /*

  • local 局部
  • global 全局
  • static 静态
  • parameter 函数参数作用域 *
  • 局部和全局作用域
  • 所有函数外部定义的变量,是全局作用域。除了 函数 以外,全局变量可以被脚本中任何部分访问,要在一个函数中访问一个全局变量的话需要使用
  • global 关键字对变量进行修饰之后才可以进行使用 */ ?> ```

    static

  • 静态 拿出函数中的变量

    1. <?php
    2. function myTest()
    3. {
    4. static $x=0;
    5. echo $x;
    6. $x++;
    7. echo PHP_EOL; // 换行符
    8. }
    9. // 然后每次调用该函数的时候,该变量会保留函数前一次被调用时的值
    10. // 注意: 该变量仍然是函数的 局部变量, 区别于返回值的概念
    11. myTest();
    12. myTest();
    13. myTest();
    14. ?>

    parameter

  • 参数 传参数 ```php <?php

// 参数作用域讲解 /*

  • 参数是通过调用代码将值直接传递给函数的局部变量
  • 参数是在参数列表中声明,作为函数声明的一部分: /

function p_test($x){

  1. echo "my name is $x";

} p_test(“addicated”); ?>

  1. <a name="VNXKA"></a>
  2. # echo & print 的区别
  3. echo 和 print 区别:
  4. - echo - 可以输出一个或多个字符串
  5. - print - 只允许输出一个字符串,返回值总为 1
  6. - **提示:**echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
  7. <a name="fyjkD"></a>
  8. ## echo 语句
  9. - 是一个语言结构,使用的时候可以不加括号,也可以加上括号
  10. <a name="WLAkd"></a>
  11. ## print语句
  12. - 同样是一个语言结构,可以使用括号也可不使用
  13. <a name="6frr7"></a>
  14. # PHP EOF(heredoc) 使用
  15. <a name="91q56"></a>
  16. ## 使用概述
  17. - 1,前后接分号否则不过编译
  18. - 2,EOF 可以使用任意字符代替,保证开始和结束字符一致即可
  19. - 3,结束表示必须顶格独占一行(即必须从行首开始,前后不能衔接任何字符和空白符
  20. - 4,开始表示可以不待引号或者单双引号, 不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转移符号
  21. - 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
  22. ```php
  23. <?php
  24. // 学习php eof的使用
  25. // PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言
  26. //(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
  27. /*
  28. 1,前后接分号否则不过编译
  29. 2,EOF 可以使用任意字符代替,保证开始和结束字符一致即可
  30. 3,结束表示必须顶格独占一行(即必须从行首开始,前后不能衔接任何字符和空白符
  31. 4,开始表示可以不待引号或者单双引号, 不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转移符号
  32. 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
  33. */
  34. ?>
  35. <?php
  36. // ' 单引号包裹的话就不会被转义成代码,双引号则会进行转意,
  37. // "" 双引号会被转移,识别成为代码并由php引擎渲染到页面
  38. echo <<<EOF
  39. <h1>我的第一个标题</h1>
  40. <p>我的第一个段落。</p>
  41. EOF;
  42. // 结束需要独立一行且前后不能空格
  43. /*
  44. 1 以 <<<EOF 开始标记开始,以EOF结束标记结束,结束标记必须定投写,不能有锁紧
  45. 2 开始标记和结束标记相同,比如常用大写的 EOT,EOD ,EOF 来表示,但是也不限于这几个,可以自定义,只要保证开始标记和结束标记不在正文中出现
  46. 3 位于开始标记和结束标记之间的变量可以被正常解析,但是函数不可以,在heredoc中,变量不需要链接符 . 或者 , 来拼接
  47. */
  48. ?>
  49. <?php
  50. $name="runoob";
  51. $a= <<<EOF
  52. "abc"$name
  53. "123"
  54. EOF;
  55. // 结束需要独立一行且前后不能空格
  56. echo $a;
  57. ?>

数据类型

  • 查看数据类型的方法,与python java不一样,是使用 var_dump()来进行 取得value和type
  • 字符串 String
  • 整形 Integer
  • 浮点型 Float
  • 布尔型 Boolean
  • 数组 Array
  • 对象 Object
  • 空值 NULL ```php <?php

// 数据类型

//String(字符串), //Integer(整型), //Float(浮点型), //Boolean(布尔型), //Array(数组), //Object(对象), //NULL(空值)。 /*

  • 与 java python不一样, 查看数据类型 和值使用var_dump() 方法
  • var_dump() 函数返回变量的数据类型和值; */

$x = 5985; var_dump($x); echo “
“; $x = -345; // 负数 var_dump($x); echo “
“; $x = 0x8C; // 十六进制数 var_dump($x); echo “
“; $x = 047; // 八进制数 var_dump($x);

// 浮点类型 $x = 10.365; var_dump($x); echo “
“; $x = 2.4e3; var_dump($x); echo “
“; $x = 8E-5; var_dump($x); // 布尔类型 $x = true; $y = false;

var_dump($x); var_dump($y); // php 数组

$cars = array(“Volvo”, “BMW”, “Toyota”); var_dump($cars); // 不可直接输出 数组 //echo “$cars” //print “$cars”

// php 对象 //对象数据类型也可以用于存储数据。 // //在 PHP 中,对象必须声明。 // //首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。 // //然后我们在类中定义数据类型,然后在实例化的类中使用数据类型

// 声明类 class Car { var $color;

  1. function __construct($color="green")
  2. {
  3. $this->color = $color;
  4. }
  5. function what_color(){
  6. return $this->color;
  7. }

}

// php 中的null值 /* null 值表示没有值,null是数据类型为null的值, null值值ing一个变量是否为控制,同样可用于数据控制和null值的区别 可以通设置变量值为NULL 来清空变量的数据

*/ $x=”Hello world!”; $x=null; var_dump($x); ?>

  1. <a name="ojdTj"></a>
  2. # 类型比较
  3. <a name="aOr99"></a>
  4. ## 松散比较
  5. - 使用两个 =号来进行比较 ==
  6. - 只比较值不比较类型,
  7. <a name="Jhn72"></a>
  8. ## 严格比较
  9. - 使用三个 =号来进行比较 ===
  10. - 比较值以及类型,都相等才相等
  11. <a name="sHVdP"></a>
  12. ## 代码示例
  13. ```php
  14. <?php
  15. /*
  16. php 类型比较
  17. 虽然php是弱类型语言,但是也需要明白变量类型以及含义,因为经常需要对php变量进行比较,
  18. 包含松散和严格比较
  19. */
  20. // 松散比较
  21. // 使用两个 == 比较,只比较值不比较类型
  22. // 严格比较
  23. // 使用三个等号 === 进行比较,除了比较值,也比较类型
  24. if(42 == "42") {
  25. // 值相等 ,类型不等, 松散比较
  26. echo '1、值相等';
  27. }
  28. echo PHP_EOL; // 换行符
  29. if(42 === "42") {
  30. echo '2、类型相等';
  31. } else {
  32. // 值相等,但是类型不相等, === 严格比较
  33. echo '3、不相等';
  34. }
  35. echo " ---------------";
  36. echo "php 中比较 0,false,null";
  37. echo '0 == false: ';
  38. var_dump(0 == false);
  39. echo '0 === false: ';
  40. var_dump(0 === false);
  41. echo PHP_EOL;
  42. echo '0 == null: ';
  43. var_dump(0 == null);
  44. echo '0 === null: ';
  45. var_dump(0 === null);
  46. echo PHP_EOL;
  47. echo 'false == null: ';
  48. var_dump(false == null);
  49. echo 'false === null: ';
  50. var_dump(false === null);
  51. echo PHP_EOL;
  52. echo '"0" == false: ';
  53. var_dump("0" == false);
  54. echo '"0" === false: ';
  55. var_dump("0" === false);
  56. echo PHP_EOL;
  57. echo '"0" == null: ';
  58. var_dump("0" == null);
  59. echo '"0" === null: ';
  60. var_dump("0" === null);
  61. echo PHP_EOL;
  62. echo '"" == false: ';
  63. var_dump("" == false);
  64. echo '"" === false: ';
  65. var_dump("" === false);
  66. echo PHP_EOL;
  67. echo '"" == null: ';
  68. var_dump("" == null);
  69. echo '"" === null: ';
  70. var_dump("" === null);
  71. /*
  72. 0 == false: bool(true) 0 = "" =null 松散比较时都是 false
  73. 0 === false: bool(false)
  74. 0 == null: bool(true)
  75. 0 === null: bool(false)
  76. false == null: bool(true)
  77. false === null: bool(false)
  78. "0" == false: bool(true)
  79. "0" === false: bool(false)
  80. "0" == null: bool(false)
  81. "0" === null: bool(false)
  82. "" == false: bool(true)
  83. "" === false: bool(false)
  84. "" == null: bool(true)
  85. "" === null: bool(false)
  86. */
  87. ?>

常量 - constant

define()方法讲解

  • name - 常量名
  • value - 常量值
  • case_insensitive - 大小写是否敏感 默认敏感 ```php <?php // php 常量讲解 // 常量在被定义后,在脚本的任何地方都不能被改变

// 常量是一个简单值的表示服,该值在脚本中不能改变 // 一个常量由英文字母,下划线和,数字组成,但是数字不能为首字母 // 常量名不需要加 $ 修饰符 // 注意 : 常量在整个脚本中都可以用

//bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ) // 定义常量,使用define() 函数来进行定义 /*

  • 该函数由三个参数
  • name 必须
  • value 必须,常量值
  • case_insensitive 可选 ,如果设置为TRUE,则该常量大小写不敏感,默认为敏感 */ // 区分大小写的常量名 define(“HELLO”,”hello this is addicated”); echo HELLO; echo ‘
    ‘; //echo HELLO; // 输出 “greeting”

// 不区分大小写的常量名 //// 不区分大小写的常量名 //define(“GREETING”, “欢迎访问 Runoob.com”, true); //echo greeting; // 输出 “欢迎访问 Runoob.com”

// 常量是全局的 define(“GREETING”, “欢迎访问 Runoob.com”);

function myTest() { echo GREETING; }

myTest(); // 输出 “欢迎访问 Runoob.com” // 使用常量的时候不能在前面加上变量符,否则 回导致将常量转换成新的为定义变量使用,会导致报错 // echo / print 常量名,这样来进行使用,一般来说常量都是大写字母,并且大小写敏感 ?>

  1. <a name="LffsL"></a>
  2. ## 常量使用时注意
  3. - 使用的时候不能在常量名前加$符号,会将常量进行转义,产生报错
  4. <a name="5PZ1d"></a>
  5. # 字符串
  6. <a name="d6kpc"></a>
  7. ## 并置符 (.)
  8. <a name="IY6jC"></a>
  9. ## strlen()
  10. - 取得字符串的长度
  11. <a name="9cHXo"></a>
  12. ## strpos()
  13. - 查找字符串中的字段
  14. ```php
  15. <?php
  16. // php 字符串
  17. // 字符串变量用于包含有字符的值。
  18. //
  19. //在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。
  20. // php并置运算符
  21. /*
  22. 在php中 只有一个字符串运算符,
  23. 并置运算符 (.) 用来将两个字符串链接起来
  24. 注意 : 区别于传统的java ,python 的 + 号拼接字符串, 而是通过 . 来进行字符串拼接
  25. */
  26. $txt1="Hello world!";
  27. $txt2="What a nice day!";
  28. echo $txt1 . " " . $txt2;
  29. /*
  30. PHP strlen() 函数
  31. 得到字符串的长度,返回的是字符串的长度(字节数)
  32. 注意 : 常常用在循环和其他函数中用来判断循环结束的条件,
  33. 比如遍历字符串的话。
  34. */
  35. echo strlen("Hello world!");
  36. /*
  37. * PHP strpos() 函数
  38. 用于在一段字符串中查询一个字符或者一段指定的文本
  39. 如果找到,,返回第一个匹配的字符位置,没找到,返回false
  40. */
  41. // str1 带查找的字符串,str2 要查找的字符
  42. echo strpos("Hello world!","world");
  43. //提示:在上面的实例中,字符串 "world" 的位置是 6。之所以是 6 而不是 7 的原因是,
  44. //字符串中第一个字符的位置是 0,而不是 1。
  45. ?>

php 字符串常用方法,后续整理

PHP运算符

算数运算符

  • 并置以外,其他如java,python一致

    • a . b 链接两个字符串
    • “here” . “is “ = “hereis”

      赋值运算符

  • 并置赋值运算符

    • .=
    • a .= b 意为链接两个字符串

      自增/自减

      比较运算符

      | 运算符 | 名称 | 描述 | 实例 | | :—- | :—- | :—- | :—- | | x == y | 等于 | 如果 x 等于 y,则返回 true | 5==8 返回 false | | x === y | 绝对等于 | 如果 x 等于 y,且它们类型相同,则返回 true | 5===”5” 返回 false | | x != y | 不等于 | 如果 x 不等于 y,则返回 true | 5!=8 返回 true | | x <> y | 不等于 | 如果 x 不等于 y,则返回 true | 5<>8 返回 true | | x !== y | 绝对不等于 | 如果 x 不等于 y,或它们类型不相同,则返回 true | 5!==”5” 返回 true | | x > y | 大于 | 如果 x 大于 y,则返回 true | 5>8 返回 false | | x < y | 小于 | 如果 x 小于 y,则返回 true | 5<8 返回 true | | x >= y | 大于等于 | 如果 x 大于或者等于 y,则返回 true | 5>=8 返回 false | | x <= y | 小于等于 | 如果 x 小于或者等于 y,则返回 true | 5<=8 返回 true |

PHP逻辑运算符

运算符 名称 描述 实例
x and y 如果 x 和 y 都为 true,则返回 true x=6
y=3
(x < 10 and y > 1) 返回 true
x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6
y=3
(x==6 or y==5) 返回 true
x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6
y=3
(x==6 xor y==3) 返回 false
x && y 如果 x 和 y 都为 true,则返回 true x=6
y=3
(x < 10 && y > 1) 返回 true
x || y 如果 x 和 y 至少有一个为 true,则返回 true x=6
y=3
(x==5 || y==5) 返回 false
! x 如果 x 不为 true,则返回 true x=6
y=3
!(x==y) 返回 true

PHP 数组运算符

运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y,则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y,则返回 true

三元运算符

另一个条件运算符是”?:”(或三元)运算符 。
`(expr1) ? (expr2) : (expr3)
解释:
expr1 为 true 时,值为 expr2
expr1 为 false 时, 值为 expr3
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

  1. <?php
  2. $test = '菜鸟教程';
  3. // 普通写法
  4. $username = isset($test) ? $test : 'nobody';
  5. echo $username, PHP_EOL;
  6. // PHP 5.3+ 版本写法
  7. $username = $test ?: 'nobody';
  8. echo $username, PHP_EOL;
  9. ?>
  10. 注意:PHP_EOL 是一个换行符,兼容更大平台。
  • 在 PHP7+ 版本多了一个 NULL 合并运算符 ??,实例如下:

    1. <?php
    2. // 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
    3. $username = $_GET['user'] ?? 'nobody';
    4. // 类似的三元运算符
    5. $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
    6. ?>

    组合比较符(PHP7+)

  • PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法格式如下

  1. $c = $a <=> $b;
  2. <?php
  3. // 整型
  4. echo 1 <=> 1; // 0
  5. echo 1 <=> 2; // -1
  6. echo 2 <=> 1; // 1
  7. // 浮点型
  8. echo 1.5 <=> 1.5; // 0
  9. echo 1.5 <=> 2.5; // -1
  10. echo 2.5 <=> 1.5; // 1
  11. // 字符串
  12. echo "a" <=> "a"; // 0
  13. echo "a" <=> "b"; // -1
  14. echo "b" <=> "a"; // 1
  15. ?>


PHP 数组运算符

运算符 名称 描述
x + y 集合 x 和 y 的集合
x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
x != y 不相等 如果 x 不等于 y,则返回 true
x <> y 不相等 如果 x 不等于 y,则返回 true
x !== y 不恒等 如果 x 不等于 y,则返回 true

以下实例演示了使用一些数组运算符得到的不同结果:

三元运算符

另一个条件运算符是”?:”(或三元)运算符 。

语法格式

(expr1) ? (expr2) : (expr3)
对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

组合比较符(PHP7+)

  • PHP7+ 支持组合比较符(combined comparison operator)也称之为太空船操作符,符号为 <=>。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法格式如下:
`$c = $a <=> $b;

  • 如果 $a > $b, 则 $c 的值为 1
  • 如果 $a == $b, 则 $c 的值为 0
  • 如果 $a < $b, 则 $c 的值为 -1。 ```php <?php // 整型 echo 1 <=> 1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1

// 浮点型 echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1

// 字符串 echo “a” <=> “a”; // 0 echo “a” <=> “b”; // -1 echo “b” <=> “a”; // 1 ?>

  1. <a name="yhVzH"></a>
  2. ## 运算符优先级
  3. 下表按照优先级从高到低列出了运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。<br />**说明**:左 = 从左到右,右 = 从右到左。
  4. | 结合方向 | 运算符 | 附加信息 |
  5. | :--- | :--- | :--- |
  6. | 无 | clone new | clone 和 new |
  7. | 左 | [ | array() |
  8. | 右 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 类型和递增/递减 |
  9. | 无 | instanceof | 类型 |
  10. | 右 | ! | 逻辑运算符 |
  11. | 左 | * / % | 算术运算符 |
  12. | 左 | + – . | 算术运算符和字符串运算符 |
  13. | 左 | << >> | 位运算符 |
  14. | 无 | == != === !== <> | 比较运算符 |
  15. | 左 | & | 位运算符和引用 |
  16. | 左 | ^ | 位运算符 |
  17. | 左 | &#124; | 位运算符 |
  18. | 左 | && | 逻辑运算符 |
  19. | 左 | &#124;&#124; | 逻辑运算符 |
  20. | 左 | ? : | 三元运算符 |
  21. | 右 | = += -= *= /= .= %= &= &#124;= ^= <<= >>= => | 赋值运算符 |
  22. | 左 | and | 逻辑运算符 |
  23. | 左 | xor | 逻辑运算符 |
  24. | 左 | or | 逻辑运算符 |
  25. | 左 | , | 多处用到 |
  26. 运算符优先级中,or 和 ||,&& 和 and 都是逻辑运算符,效果一样,但是其优先级却不一样。
  27. <a name="YouN6"></a>
  28. ## 实例
  29. ```php
  30. <?php
  31. // 优先级: && > = > and
  32. // 优先级: || > = > or
  33. $a = 3;
  34. $b = false;
  35. $c = $a or $b;
  36. var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
  37. $d = $a || $b;
  38. var_dump($d); //这里的 $d 就是 boolean 值 true
  39. ?>
  40. int(3)
  41. bool(true)

括号的使用

  • 我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加代码的可读性。 ```php <?php // 括号优先运算

$a = 1; $b = 2; $c = 3; $d = $a + $b $c; echo $d; echo “\n”; $e = ($a + $b) $c; // 使用括号 echo $e; echo “\n”; ?> 7 9

  1. <a name="sP792"></a>
  2. # PHP if -else -elseif
  3. - 与常规语言一致,没有什么差别,略
  4. <a name="rHLK9"></a>
  5. # PHP Switch
  6. ```php
  7. <?php
  8. switch (n)
  9. {
  10. case label1:
  11. 如果 n=label1,此处代码将执行;
  12. break;
  13. case label2:
  14. 如果 n=label2,此处代码将执行;
  15. break;
  16. default:
  17. 如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
  18. }
  19. ?>
  20. 工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。
  21. 如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。
  22. default 语句用于不存在匹配(即没有 case 为真)时执行。
  23. <?php
  24. $favcolor="red";
  25. switch ($favcolor)
  26. {
  27. case "red":
  28. echo "你喜欢的颜色是红色!";
  29. break;
  30. case "blue":
  31. echo "你喜欢的颜色是蓝色!";
  32. break;
  33. case "green":
  34. echo "你喜欢的颜色是绿色!";
  35. break;
  36. default:
  37. echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
  38. }
  39. ?>

PHP 数组

创建数组

  • 使用 array()
  • php中,有三种类型的数组

    • 数值数组 - 带有数字ID键的数组
    • 关联数组 - 带有指定的键的数组,每个键关联一个值
    • 多维数组 - 包含一个或多个数组的数组

      两种创建方式

  • 人工分配ID键

    1. $cars[0]="Volvo";
    2. $cars[1]="BMW";
    3. $cars[2]="Toyota";
  • 自动分配ID键

`$cars=array("Volvo","BMW","Toyota");

实例

  1. <?php
  2. $cars=array("Volvo","BMW","Toyota");
  3. echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
  4. ?>

获取数组长度- count() 长度

  • count() 函数用于返回数组的长度(元素的数量)

    1. <?php
    2. $cars=array("Volvo","BMW","Toyota");
    3. echo count($cars);
    4. ?>
    5. 3

    遍历

  • for循环 ```php <?php $cars=array(“Volvo”,”BMW”,”Toyota”); $arrlength=count($cars);

for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo “
“; } ?>

  1. <a name="YiiMT"></a>
  2. ## PHP关联数组
  3. - 关联数组是分配指定键的数组,类似kv键值对的感觉
  4. <a name="yjeGv"></a>
  5. ### 两种创建方法
  6. - ``$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");`
  7. ```php
  8. $age['Peter']="35";
  9. $age['Ben']="37";
  10. $age['Joe']="43";

随后可以类似键值对的方式取值

  1. <?php
  2. $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
  3. echo "Peter is " . $age['Peter'] . " years old.";
  4. ?>

遍历关联数组

  1. <?php
  2. $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
  3. foreach($age as $x=>$x_value)
  4. {
  5. echo "Key=" . $x . ", Value=" . $x_value;
  6. echo "<br>";
  7. }
  8. ?>

多维数组

PHP 数组排序

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列

    数组相关继续学习-数组常用方法