PHP基础-数组

简介

数组是一个能在耽搁变量中储存多个值的特殊变量,更多数组方法参考《PHP 5 Array数组 函数》

特点:

  • 默认键为创建时的下标序列号
  • 键或值一样的情况下进行搜索,默认提供第一个搜索结果
  • 数组中的键具有唯一性,如果出现键相同的则后者生效
  • 数值数组和关联数组混用的情况下,依照顺序,后置数值数组的下标序列号为前置出现过的最大值+1

数组分为数值数组和关联数组以及多维数组

数组使用

创建数组

array(数组内容);

展现示例

<?php
$arr = array("a","b","c");
print_r($arr);
?>

结果

Array ( [0] => a [1] => b [2] => c )
// [下标序列号]=> 对应值

数值数组

即含有多个字符串/数字的列表形数组

增删改查

<?php
$arr = array("a","b","b","c");
array_push($arr,"d");
print_r($arr);
print("【增】<br>");

$arr = array("a","b","b","c");
array_pop($arr);
print_r($arr);
print("【删】<br>");

$arr = array("a","b","b","c");
$arr[2]="z";
print_r($arr);
print("【改】<br>");

$arr = array("a","b","b","c");

echo array_search("b",$arr);
print("【查】<br>");
?>

关联数组

即拥有键值对的字典形式数组

增删改查

<?php
$arr = array("a"=>123,"b"=>456,"c"=>789);
array_push($arr,"新增值");
print_r($arr);
print("【增】<br>");

$arr = array("a"=>123,"b"=>456,"c"=>789);
$arr["新增键值"]=999;
print_r($arr);
print("【增】<br>");

$arr = array("a"=>123,"b"=>456,"c"=>789);
array_pop($arr);
print_r($arr);
print("【删】<br>");

$arr = array("a"=>123,"b"=>456,"c"=>789);
$arr["b"]="修改后";
print_r($arr);
print("【改】<br>");

$arr = array("a"=>123,"b"=>456,"c"=>789);
echo $arr["b"];
print("【查】<br>");
?>

多维数组

即数组中包含数组

二维数组

<?php
$arr = array(
    "一年级"=>array(
        "小明"=>"男",
        "小红"=>"女",
    ),
    "二年级"=>array(
        "小花"=>"女",
        "小刚"=>"男",
    )
);

echo "获取一年级人员:<br>";
print_r(array_keys($arr["一年级"]));
print("<br>");

echo "获取小红性别:<br>";
print_r($arr["一年级"]["小红"]);
print("<br>");

echo "二年级新增人员:<br>";
$arr["二年级"]["小莉"]="女";
print_r($arr);
?>

数组排序

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

综合示例

<?php
$arr = array("b"=>1,"a"=>2,"c"=>3);
print("原始数据:");
print_r($arr);
print("<br>");

$arr = array("b"=>1,"a"=>2,"c"=>3);
sort($arr);
print("升序排序:");
print_r($arr);
print("<br>");

$arr = array("b"=>1,"a"=>2,"c"=>3);
rsort($arr);
print("降序排序:");
print_r($arr);
print("<br>");

$arr = array("b"=>1,"a"=>2,"c"=>3);
asort($arr);
print("数组的值升序:");
print_r($arr);
print("<br>");

$arr = array("b"=>1,"a"=>2,"c"=>3);
ksort($arr);
print("数组的键升序:");
print_r($arr);
print("<br>");

$arr = array("b"=>1,"a"=>2,"c"=>3);
arsort($arr);
print("数组的值降序:");
print_r($arr);
print("<br>");

$arr = array("b"=>1,"a"=>2,"c"=>3);
krsort($arr);
print("数组的键降序:");
print_r($arr);
print("<br>");
?>

数组递归展开

var_dump()函数可以将数组递归展开,便于查看

<?php
        $arr = array(1,2,3=>array(3.1,3.2));

        print("普通打印:");
        print_r($arr);
        print("<br>");
        print("var_dump打印:");
        var_dump($arr);
?>

HTML页面展示

普通打印:Array ( [0] => 1 [1] => 2 [3] => Array ( [0] => 3.1 [1] => 3.2 ) ) 
var_dump打印:array(3) { [0]=> int(1) [1]=> int(2) [3]=> array(2) { [0]=> float(3.1) [1]=> float(3.2) } }

浏览器右击查看源码展示


普通打印:Array
(
    [0] => 1
    [1] => 2
    [3] => Array
        (
            [0] => 3.1
            [1] => 3.2
        )

)
<br>var_dump打印:array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [3]=>
  array(2) {
    [0]=>
    float(3.1)
    [1]=>
    float(3.2)
  }
}

转载于:https://my.oschina.net/zhaojunhui/blog/3085102

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值