PHP-数组

@lianst  September 2, 2017

数组可以使单个变量中存储多个值的特殊变量,php中的数组使用array();来定义,或者用[]来定义,php中的数组相当于python中的列表。在php中,有三种类型的数组:

  • 数值数组:带有数字ID键的数组,等同于Python中的列表(list)
  • 关联数组:带有指定的键的数组(Key->Vaule),等同于Python中的字典(dict)
  • 多维数组:包含一个或多个数组的数组。

数值数组

1.创建数值数组

1.1 自动分配ID键(ID键是从0开始的)

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

1.2手动分配ID键

$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";

2.打印数组的元素:

//.是拼接字符串
echo "I like " . $cars[0] . "," . $cars[1] . "and" . $cars[2] . ".";

3.获取数组的长度-count()函数
count()函数用于返回数组的长度(元素的数量)

//定义数值数组
$cars=array("Volvo","BMW","Toyota");

//获取数组长度(元素个数)
echo count($cars);

4.遍历数值数组

//定义数值数组
$cars=array("Volvo","BMW","Toyota");

//获取数值数组长度
$carslen=count($cars);

//循环(遍历)
for ($i=0;$i<$carslen;$i++)
{
    echo $cars[$i];
    echo "<hr>";
}

关联数组

关联数组类似Python的字典,Key->Vaule的格式。php中有两种创建关联数组的方法:

1.创建关联数组

//直接使用array定义
$age=array("Lili"=>"28","Bob"=>"19","Ben"=>"38");

//使用key=Vaule的格式定义
$age['Lili']="28";
$age['Bob']="19";
$age['Ben']="28";

//打印
echo "Lili is " . $age['Lili'] . "years old.";

2.遍历关联数组
遍历并打印关联数组中的所有值,一般会使用foreach循环:

//定义关联数组
$age=array("Lili"=>"28","Bob"=>"19","Ben"=>"38");

//foreach循环
foreach ($age as $x=>$x_value)
    echo "Key=" . $x . ", Value=" . $x_value . ".";

多维数组

多维数组是包含一个或多个数组的数组(一个数组中的值可以是另外一个数组,另外一个数组的值也可以是一个数组),在多维数组中,主数组的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组,可以理解成,数组的嵌套(个人理解)。

1.创建一个多维数组

$sites=array
(
    "lianst"=>array(
        "运维笔记",
        "https://blog.lianst.com"
    ),
    "google"=>array(
        "Google",
        "https://www.google.com"
    ),
    "baidu"=>array(
        "Baidu",
        "https://www.baidu.com"
    )
);

//打印多维数组
var_dump($sites);

2.打印结果如下:

array (size=3)
  'lianst' => 
    array (size=2)
      0 => string '运维笔记' (length=12)
      1 => string 'https://blog.lianst.com' (length=23)
  'google' => 
    array (size=2)
      0 => string 'Google' (length=6)
      1 => string 'https://www.google.com' (length=22)
  'baidu' => 
    array (size=2)
      0 => string 'Baidu' (length=5)
      1 => string 'https://www.baidu.com' (length=21)

3.输出某个值

echo $sites['google'][0] . "的URL地址为:" . $sites['google'][1];

Google的URL地址为:https://www.google.com

添加新评论