PHP 数组

代码如下:

<?php
// 1. 普通的一维数组
#  array 是一个函数, 它的参数就是数组的初始值.
$arr = array(1,2,3,4,5,6);
# 2. 输出数组, 需要使用print_r
print_r($arr);
// 3. 使用数组内的元素
$arr[0] = 100;
echo "arr[0]=" . $arr[0] . "<br/>";
// 4. 在双引号的字符串中使用数组元素的时候, 需要将
//    数组名和[]在内使用`{}`包起来.
echo "arr[0]= {$arr[0]} <br/>";
// 5. 计算数组的元素个数
echo "数组的元素个数=" . count( $arr) . "<br/>";
$arr[100] = '哈哈哈';
print_r($arr);

// 2. 字典型数组
// 使用`=>` 来连接键值对
$dict = array(100,200,'姓名'=>'小明','小红');
print_r($dict);

// 3. 二维数组
$row1 = [1,2,3,4,5];
$row2 = [6,7,8,9,10];
$arr2 = [$row1, $row2];
$arr3 = [[1,2,3,4,5] , [6,7,8,9,10]];
echo $arr3[1][0].'<br/>';
$arr4 = array( array(1,2,3,4,5) ,
           array(6,7,8,9,10) );
// 4. 字典型二维数组
$dict2 = [
      "身高"=>[1.8,1.6,1.9] ,
      "姓名"=>['小明',"小红","大明"]
    ];
echo $dict2['身高'][1];// 输出1.6

// 5. 给数组中不存在的键赋值时, 会自动添加这个键
$arr5 = [];
$arr5[0]=100;
$arr5['name'] = "小明";
print_r($arr5);

// 6. 如果获取数组中不存在的键, 就会出错
//    可以使用isset函数来检测数组的键是否存在.
$arr6 = [];
if( false == isset( $arr6['get'] )){
echo '键get不存在<br/>';
}else{
echo $arr6['get'];
}

// 运算符
// 1. 错误控制运算符:`@`
//  在函数调用语句前,加上`@`之后, 这个函数内部如果错误
//  就会被忽略掉.
@printf("%d" , $arr6['set']);// 键不存在,会产生错误
echo "产生错误的语句的下一条语句<br/>";

文件11.php

<?php
$arr = array(1,2,3,4,5);
print_r($arr);//打印数组
echo "<br/>";

$arr1= array('helll','llow');
print_r($arr1);
echo "<br/>";
echo $arr1[1];//访问单个元素
echo "<br/>";
$arr[100] = 100;
echo "<br/>";
//这里的[100]不是下标
print_r($arr);
echo "<br/>";


//可以使用count()函数获取数组的元素个数
echo "元素个数=".count($arr);
echo "<br/>";
遍历数组
    $arr=[1,2,3,4,'姓名'=>'小明','aa'=>'bbb'];
    // foreach格式:
    // 数组名 as 从数组中提取到的键的名字 => 键对应的值
    echo "<ul>
";
    foreach ( $arr as $key => $value){
        echo "	<li>key=$key value=$value</li>
";
    }
    echo "</ul>
";
range() 函数创建一个包含指定范围的元素的数组。
//语法:range(low,high,step)
//参数: low	必需。规定数组的最低值。
        high	必需。规定数组的最高值。
        step	可选。规定元素之间的步进制。默认是 1。
返回值:	返回包含从 low 到 high 的元素的数组。

关于数组的函数

<?php
//array()   创建数组
$a = array(
    'A' => 'N',
    'B' => 'd'
);
//array_change_key_case() 函数将数组的所有的键都转换为大写字母或小写字母。
//语法:array_change_key_case(array,case);
//参数:array	必需。规定要使用的数组。
//case	可选。可能的值:
    //CASE_LOWER - 默认值。将数组的键转换为小写字母。
    //CASE_UPPER - 将数组的键转换为大写字母。
print_r(array_change_key_case($a,CASE_LOWER));
echo "<br/>";

//array_chunk() 把数组分割为带有两个元素的数组
//语法:array_chunk(array,size,preserve_keys);
//参数:array	必需。规定要使用的数组。
//size	必需。一个整数,规定每个新数组块包含多少个元素。
//preserve_key	可选。可能的值:
//true - 保留原始数组中的键名。
//false - 默认。每个新数组块使用从零开始的索引。
$cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
print_r(array_chunk($cars,2));
echo "<br/>";

//array_column() 函数  array_column() 返回输入数组中某个单一列的值
//语法:array_column(array,column_key,index_key);
//array	必需。指定要使用的多维数组(记录集)。
//column_key	必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合index_key 参数来重置数组键的时候,非常管用)。
//index_key	可选。作为返回数组的索引/键的列
// 可能从数据库中返回数组
$a = array(
    array(
        'id' => 5698,
        'first_name' => 'Peter',
        'last_name' => 'Griffin',
    ),
    array(
        'id' => 4767,
        'first_name' => 'Ben',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 3809,
        'first_name' => 'Joe',
        'last_name' => 'Doe',
    )
);

$last_names = array_column($a, 'last_name');
print_r($last_names);
echo "<br/>";

//array_combine()  通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值
//注释:键名数组和键值数组的元素个数必须相同!
//语法:array_combine(keys,values);
//参数:keys	必需。规定数组的键名。
//      values	必需。规定数组的键值
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
$c=array_combine($fname,$age);
print_r($c);
echo "<br/>";

//array_count_values() 函数用于统计数组中所有值出现的次数
//语法:array_count_values(array)
//必需。规定需要统计数组中所有值出现次数的数组
$aa=array("A","Cat","Dog","A","Dog");
print_r(array_count_values($aa));
echo "<br/>";

//array_keys()   返回包含数组中所有键名的一个新数组
//语法:array_keys(array,value,strict)
//参数:array	必需。规定数组。
//value	可选。您可以指定键值,然后只有该键值对应的键名会被返回。
//strict	可选。与 value 参数一起使用。可能的值:
//true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。
//false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。
$aaa=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($aaa));
echo "<br/>";

//array_key_exists()  检查某个数组中是否存在指定的键名,如果键名存在则返回 true,如果键名不存在则返回 false
//语法:array_key_exists(key,array)
//参数:key	必需。规定键名。
//array	必需。规定数组。
$vv=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volv",$vv))
{
    echo "Key exists!";
}
else
{
    echo "Key does not exist!";
}
echo "<br/>";

//array_pop()  删除数组中的最后一个元素
//语法:删除数组中的最后一个元素
//返回值:	返回数组的最后一个值。如果数组是空的,或者不是一个数组,将返回 NULL。
$b = array(1,2,3,4);
print_r(array_pop($b));
echo "<br/>";

//array_push()  向数组尾部插入一个或多个元素
//语法:array_push(array,value1,value2...)
//返回值:返回新数组元素个数
print_r(array_push($b,"blue","hello"));
echo "<br/>";

//array_rand()   返回数组中一个或多个随机键返回数组中的一个随机键名,或者如果指定函数返回键名不只一个,则返回一个包含随机键名的数组
//语法:array_rand(array,number)
//参数:  array	必需。规定数组。   number	可选。规定返回多少个随机的元素。
$x=array("red","green","blue","yellow","brown");
$random_keys=array_rand($a,3);
echo $x[$random_keys[0]]."<br>";
echo $x[$random_keys[1]]."<br>";
echo $x[$random_keys[2]];
echo "<br/>";


//array_replace() 函数使用后面数组的值替换第一个数组的值。
//语句:array_replace(array1,array2,array3...)
//返回值:	返回被替换的数组,如果发生错误则返回 NULL。
$b1=array("red","green");
$b2=array("blue","yellow");
print_r(array_replace($b1,$b2));
echo "<br/>";


//array_reverse() 函数返回翻转顺序的数组
//语法:array_reverse(array,preserve)array	必需。规定数组。
//preserve	可选。规定是否保留原始数组的键名。
//如果设置为 TRUE 会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。
//可能的值:
//true
//false
$zhuan = array("o","l","l","e","h");
print_r(array_reverse($zhuan));
echo "<br/>";


//array_slice()  返回数组中的选定部分
//语法:array_slice(array,start,length,preserve)
//参数:array	必需。规定数组。
//start	必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
//length	可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
//preserve	可选。规定函数是保留键名还是重置键名。可能的值:
//true - 保留键名
//false - 默认。重置键名
$z=array("red","green","blue","yellow","brown");
print_r(array_slice($z,2));
echo "<br/>";

//array_splice() 函数从数组中移除选定的元素,并用新元素取代它。函数也将返回被移除元素的数组
//语法:array_splice(array,start,length,array)
//参数:array	必需。规定数组。
//start	必需。数值。规定删除元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。 -2 意味着从数组的倒数第二个元素开始。
//length	可选。数值。规定被移除的元素个数,也是被返回数组的长度。 如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
//array	可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。
$q1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$q2=array("a"=>"purple","b"=>"orange");
array_splice($q1,0,2,$q2);
print_r($q1);
echo "<br/>";


//array_values()返回包含数组中所有的值的数组
//语法:array_values(array)
//返回值:	返回包含数组中所有的值的数组。
$e=array("Name"=>"Peter","Age"=>"41","Country"=>"USA");
print_r(array_values($e));
echo "<br/>";

原文地址:https://www.cnblogs.com/Lay0us/p/12121518.html