TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码
/
注册
用户名
邮箱
文章目录

PHP操作数组单元

2020-11-26
/
0 评论
/
863 阅读
/
正在检测是否收录...
11/26

数组是一个复合数据 , 里面放了很多数据
print_r() 将里面所有的数据都打印了出来
需要对数组的具体单元进行操作
数组单元的 增 , 删 , 改 , 查

1、单独取出某一个单元的值 , 用健来取 $ 数组名 [ 健 ]

$arr = array('a','b','c');
echo $arr[1],'<br >';

2、取出二维数组的值
数组的层级顶多到 3 层 , 否则人无法直观的理解

$arr2 = array('name'=>'lisi','hobby'=>array('basketball','football','pingpang'));
echo $arr2['hobby'][0];

3、更改一个数组单元的值

$arr2['hobby'][0] = 'swiming';
print_r($arr2);

4、增加一个数组单元

$arr2['area'] = 'beijing';
print_r($arr2);
$arr2['area'] = 'shanghai';
print_r($arr2);

5、删除数组单元

unset($arr2['hobby']);
print_r($arr2);

6、取出关联数组最后一个键

echo key(array_slice($arr,-1,1,TRUE));
echo end(array_keys($arr));
echo array_pop(array_keys($arr));
echo array_key_last($arr);// PHP7.3以上
echo $arr[count($arr)-1];//取数值数组

其它函数

array_push 将一个或多个单元压入数组的末尾

$arr = array('a','b','c');
array_push($arr,'d');
print_r($arr);

array_pop 将数组最后一个单元弹出

$arr = array('a','b','c');
array_pop($arr);
print_r($arr);

array_shift 将数组开头的单元移出数组

$arr = array('a','b','c');
array_shift($arr);
print_r($arr);

array_unshift 在数组开头插入一个或多个单元

$arr = array('a','b','c');
array_unshift($arr, 'wow');
print_r($arr);

array_sum 计算数组中所有值的和

$arr = array('1','2','3');
print_r($arr);
echo array_sum($arr);

array_merge 合并一个或多个数组

 $array1  = array( "color"  =>  "red" ,  2 ,  4 );
 $array2  = array( "a" ,  "b" ,  "color"  =>  "green" ,  "shape"  =>  "trapezoid" ,  4 );
 $result  =  array_merge ( $array1 ,  $array2 );
 print_r ( $result );

array_merge_recursive 递归地合并一个或多个数组

 $ar1  = array( "color"  => array( "favorite"  =>  "red" ),  5 );
 $ar2  = array( 10 ,  "color"  => array( "favorite"  =>  "green" ,  "blue" ));
 $result  =  array_merge_recursive ( $ar1 ,  $ar2 );
 print_r ( $result );

array_combine 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

 $a  = array( 'green' ,  'red' ,  'yellow' );
 $b  = array( 'avocado' ,  'apple' ,  'banana' );
 $c  =  array_combine ( $a ,  $b );
 print_r ( $c );

serialize 产生一个可存储的值的表示

$a = array('a' => 'Apple' ,'b' => 'banana' , 'c' => 'Coconut');
 
//序列化数组
echo serialize($a);
//输出结果:a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"Coconut";}

unserialize 从已存储的表示中创建 PHP 的值

$a = 'a:3:{s:1:"a";s:5:"Apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"Coconut";}';
print_r(unserialize($a));
/*Array
(
    [a] => Apple
    [b] => banana
    [c] => Coconut
)*/

array_unique 移除数组中重复的值

$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);

array_reduce 用回调函数迭代地将数组简化为单一的值

//二维数组转成一维数组
$arr = [
    [1,2,3,4,5],
    [1,2,3,4,5],
    [1,2,3,4,5],
    [1,2,3,4,5],
    [1,2,3,4,5]
];
$result = array_reduce($arr, 'array_merge', array());
print_r($result);

array_rand 从数组中随机取出一个或多个单元

<?php
$input  = array( "Neo" ,  "Morpheus" ,  "Trinity" ,  "Cypher" ,  "Tank" );
 $rand_keys  =  array_rand ( $input ,  2 );
echo  $input [ $rand_keys [ 0 ]] .  "\n" ;
echo  $input [ $rand_keys [ 1 ]] .  "\n" ;
 ?> 

数组排序

sort() // 以升序对数组排序
rsort() // 以降序对数组排序
asort() // 根据值,以升序对关联数组进行排序
ksort() // 根据键,以升序对关联数组进行排序
arsort() // 根据值,以降序对关联数组进行排序
krsort() // 根据键,以降序对关联数组进行排序

$cars=array("porsche","BMW","Volvo");
sort($cars);
print_r($cars);
经验PHP数组array
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/4961/(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. 强强强
    2025-04-07
  2. jesse
    2025-01-16
  3. sowxkkxwwk
    2024-11-20
  4. zpzscldkea
    2024-11-20
  5. bruvoaaiju
    2024-11-14

标签云