Array

1.关联数组,数组覆盖

$a = array(1,2,"a","3", 1=>"test");
echo $a[3] . "<br>";
echo $a[1] . "<br>";  //后加入的关联数组元素 1=>"test" 会覆盖前面的值。
$a["3"] = "ok2";      // 合法的整数字符串会转化成整数 即:3 和 “3” 是相同的下标
echo $a[3]."<br>"; 
echo count($a);

$a[0.1] = "浮点数会被转换为整数 即0.1下标和 0 相同";
$a[null] = “null会被转换为“”“
true是1, false则会被存储为0下标数据。
输出结果:
3
test
ok2
4

2.key 可以是 integer 或者 string。value 可以是任意类型。

3.删除元素
unset($arr[0]) 删除第0个元素,也可以将整个数组删除 unset($arr)

$arr = array(1,2,3,4);
unset($arr[0]);
echo ($arr[0]); //$arr[0]被删除,这是输出为空
echo($arr[1] . "<br>");  //可以看到虽然第一个元素被删除了,各元素的位置还是保持的。

$newarr = array_values($arr); //array_values函数将返回参数的所有的值并给其建立数字索引。相当于删除掉了已经被unset的元素。
echo $newarr[0]; 

4.数组大小
count函数,sizeof函数均可。

5.只写方括号不写键名的划,默认会访问最大的键值
例如 $a[] = 1;$a[]=2 这样每次会将值存到最后一个键值 即$a[0] = 1 $a[1] = 2
如果echo $a[] 由于这个值是最大元素的后一个,即还没有被创建,所以什么都不会输出。

6.foreach专门用于数组遍历
foreach ($arr as $var)
{
echo $b . "<br>";
}

foreach ($arr as $key => $value)
{
    $arr[$key] = $value + 1;
}

7.array_diff($a1, $a2)将返回一个数组,$a1中有的数据,$a2中没有的数据。

$a1 = array(1,2,3,4);
$a2 = array(a,b,c,4);
$a3 = array_diff($a1, $a2); //$a3的值为  1,2,3
var_dump($a3); 

8.sort对数组进行排序。

9.array_push可以在末尾追加一个值
array_push($a1, 6); //等价于 $a1[] = 6;

array(“ab”=>”first”, “bc”=>”second”, “third”) //第三个是第一个没有键值的,则下标为0

10.引用
define("data", "hello");
$a = array(1,2,3,data);
$b = &$a; //跟C语言中引用类似
$b[0] = 2; //$a[0] 也被修改为2

11.数组相加 左边的数组会覆盖右边的内容
$a = array("a",2,3);
$b = array("hello", "by", 2, 4);
$c = $a + $b; //左边的值直接覆盖右边的 结果 ("a",2,3, 4);

12. === !==
== 代表值相等
=== 值相等的基础上,类型必须相等

$a = array(0=>"a", 1=>"b");
$b = array(1=>"b", 0=>"a");
$c = array("a", "b");

$a == $b TRUE,
$a === $b FALSE;
$a === $c TRUE;

13.数组的访问
自 PHP 5.4 起可以用数组间接引用函数或方法调用的结果。之前只能通过一个临时变量。
自 PHP 5.5 起可以用数组间接引用一个数组原型。

<?php
function getArray() {
    return array(1, 2, 3);
}

// on PHP 5.4
$secondElement = getArray()[1];

// previously
$tmp = getArray();
$secondElement = $tmp[1];

// or
list(, $secondElement) = getArray();

?>

<完>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值