PHP基础语法总结(二)

PHP基础语法总结(二)

这篇文章,是继续上篇文章PHP基础语法总结(一),总结一下PHP中数组类的用法。

1. 数值数组

类似于C语言中的整型数组或者浮点型数组,每个数组有个数字标识键,索引从0开始,定义的代码,例如:

#!/usr/bin/php

<?php
  $numbers=array(12,32,4123,5345,56);
  $names=array("allen","junyu","superstar");
  var_dump($numbers,$names);
?>

其中var_dump是用来显示变量信息的函数。

运行的结果为:

array(5) {
  [0]=>
  int(12)
  [1]=>
  int(32)
  [2]=>
  int(4123)
  [3]=>
  int(5345)
  [4]=>
  int(56)
}
array(3) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
  [2]=>
  string(9) "superstar"
}

2. 关联数组

PHP关联数组就是一些key-value对,其索引就不是数字,而是可以是字符串,类似python里的字典的概念。

定义代码示例如:

#!/usr/bin/php

<?php
  $ages=array("Alice"=>32,"Bob"=>30,"Cathy"=>28);
  var_dump($ages);
?>

注意到其赋值标识符为“=>”,这个跟别的语言有较大的不同,运行结果为:

array(3) {
  ["Alice"]=>
  int(32)
  ["Bob"]=>
  int(30)
  ["Cathy"]=>
  int(28)
}

可以看出,其实数值数组和关联数组是统一的,都是key-value的键值对,只不过是以作为key的索引是否是顺序数字来区分的。

3. 增加、删除、修改和遍历数组元素

有了数组的定义,就需要对数组进行增删改查,方法有很多种,这里先写基本和简单的形式。

增加

利用 arrayname[] array_var,使用$array_var['new_key']="new_value",即可增加一对新的键值对[‘new_key’]=>”new_value”,示例代码如下:

#!/usr/bin/php

<?php
  $names=array("allen","junyu","superstar");
  echo "Before add\n";
  var_dump($names);
  $names['new']="xuangege";
  echo "After add\n";
  var_dump($names);
?>

运行结果如下:

Before add
array(3) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
  [2]=>
  string(9) "superstar"
}
After add
array(4) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
  [2]=>
  string(9) "superstar"
  ["new"]=>
  string(8) "xuangege"
}

其实,对于数值数组,可以直接使用$arrayname[]=”new_value”,它就可以通过在最大的索引数自动加一来添加新的键值对,如上面的例子中,代码修改为$names[]="xuangege";,则运行结果如下:

Before add
array(3) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
  [2]=>
  string(9) "superstar"
}
After add
array(4) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
  [2]=>
  string(9) "superstar"
  [3]=>
  string(8) "xuangege"
}

删除

unset用来销毁变量,也可以用它来删除数组元素,代码示例如下:

#!/usr/bin/php

<?php
  $names=array("allen","junyu","superstar");
  echo "Before del\n";
  var_dump($names);
  unset($names[2]);
  echo "After del\n";
  var_dump($names);
?>

运行结果如下:

Before del
array(3) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
  [2]=>
  string(9) "superstar"
}
After del
array(2) {
  [0]=>
  string(5) "allen"
  [1]=>
  string(5) "junyu"
}

修改

修改就比较简单了,例如:$names[1]="bob";就修改了第二个元素为”bob”。

遍历

可以使用for循环和foreach来进行数组遍历,for循环适用于数值数组,因为他们的key都是顺序的数字,而foreach适用于数值数组和关联数组。

for和foreach来遍历的使用示例如下:

#!/usr/bin/php

<?php
  $names=array("allen","junyu","superstar");
  $count=count($names);
  for($i=0;$i<$count;$i++){
    echo "in for, the $i element is $names[$i]\n";
  }
  $fullnames=array("allen"=>"junyu","david"=>"deng","xuangege"=>"hu");
  foreach($fullnames as $key=>$value){
    echo "in foreach, key:$key => value:$value\n";
  }
?>

显示结果如下:

in for, the 0 element is allen
in for, the 1 element is junyu
in for, the 2 element is superstar
in foreach, key:allen => value:junyu
in foreach, key:david => value:deng
in foreach, key:xuangege => value:hu
参考文献

[1] 何俊斌,陈浩. 从零开始学PHP,北京:电子工业出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值