博主信息
博文 5
粉丝 0
评论 1
访问量 6407
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数组常用键值处理函数
不羁PHP学习笔记
原创
1380人浏览过

笔记

<?php
$codes = '<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组常用键值处理函数</title>
    <style type="text/css">
        h1{margin: 0px;color: red;background: #ccc;}
        h3{margin: 0px;color: red;background: #ccc;}
        h5{margin: 0px;color: red;background: #ccc;}
        body{font-size: 24px;color: #aaa;}
    </style>
</head>
<body>
    <h1>数组常用键值处理函数</h1>
</body>
</html>';
echo ($codes);
/**
 * 数组函数__键值操作
 * 1.array_values($arr): 返回元素值组成的新数组(索引)
 * 2.array_column($arr,$col, $index): 返回多维数组中的一列,可指定键或索引
 * 3.array_keys($arr,$val,$bool): 返回键名组成的新数组
 * 4.in_array($val, $arr, $bool): 根据元素值判断值是否在数组中,返回布尔值
 * 5.array_search($val, $arr,$bool): 查找指定值,并返回该值的键名,否则返回false
 * 6.array_key_exists($key,$arr): 根据键名判断元素是否在数组中
 * 7.array_flip($arr): 键值互换
 * 8.array_reverse(): 数组元素顺序翻转
 */

$arr1 = ['id'=>10, 'name'=>'杨过', 'sex'=>'male', 'salary'=>8000];

/**
 * 预备: 数组输出的二个函数
 * 1. print_r($arr,$bool) 格式化输出变量
 * 2. var_dump($arr1,$arr2...)  可输出多个变量的详细信息
 * 3. var_export($arr,true)  输出变量的字符串表示,其实就是php语句
 */
//print_r($arr,$bool)可直接打印标量,数组或对象,第二个参数为true,则将结果以字符串形式输出到一个变量中
print_r($arr1);
$res = print_r($arr1, true);
// echo '<pre>';
echo gettype($res),'<br>';
echo $res,'<br>';


//var_dump($var1, $var2...)显示变量,可递归显示数组
//var_dump($arr1);
//var_export($arr1,$bool):返回变量的字符串表示,第二个参数true,将结果输出到变量中
echo var_export($arr1,true), '<hr>';

/**
 * 一、array_values($arr)
 * 1. 功能: 获取数组中的元素值组成的新数组
 * 2. 参数: 只有一个:要处理的数组
 * 3. 返回: 由元素值组成的,且键名经过重新排序的索引数组
 * 4. 场景: 1.关联转索引 2.键名重新整理
 */
echo '<pre>',(var_export(array_values($arr1),true)),'<hr>';

echo '</pre>check<br>';
$arr_new=(var_export(array_values($arr1),true));
echo trim($arr_new,'"ymaler0/()/(/,"');
echo '<br>',$arr_new;

echo'<br>check<hr>';
/**
 * 二、array_column($arr,$col,$bool)
 * 1. 功能: 获取多维数组中指定列值组成的新数组
 * 2. 参数: $arr(必),$col(必),$bool(选)类型匹配
 * 3. 返回: 多列组成的新数组
 * 4. 场景: 获取数据表中的指定列的值
 */

//该函数必须使用多维数组,才有意义,php7.0支持对象数组
$arr2 = [
    ['id'=>10, 'name'=>'杨过', 'sex'=>'男', 'salary'=>8000],
    ['id'=>13, 'name'=>'欧阳克', 'sex'=>'男', 'salary'=>5000],
    ['id'=>15, 'name'=>'小龙女', 'sex'=>'女', 'salary'=>7000],
    ['id'=>20, 'name'=>'黄蓉', 'sex'=>'女', 'salary'=>9000],
];
//输出每个元素中的salary列的值,默认返回索引数组
echo var_export(array_column($arr2, 'salary'),true), '<br>';
//传入第三个参数指定键名:name,这样更直观
echo var_export(array_column($arr2, 'salary','name'),true), '<hr>';


/**
 * 三、array_keys($arr, $val, $bool)
 * 1. 功能: 返回键名组成的新数组
 * 2. 参数: $arr(必),$key(必),$bool(选)类型匹配
 */

//返回键名组成的新数组
echo var_export(array_keys($arr1),true), '<br>';

//返回指定值对应的键名
echo var_export(array_keys($arr1, 'male'),true), '<hr>' ;



/**
 * 四、in_array($val, $arr, $bool)
 * 1.功能: 检查数组中是否存在某个值
 * 2.参数: $val(必),$arr(必),$bool(选)是否严格类型匹配
 * 3.返回: bool
 * 4.场景: 仅适合一维数组
 */

echo in_array('male', $arr1,false) ? '存在' : '不存在', '<hr>';

/**
 * 五、array_search($val, $arr, $bool)
 * 1.功能: 在数组中查询指定的值
 * 2.参数: $val(必),$arr(必),$bool(选)类型匹配
 * 3.返回: 成功返回值对应的键名,失败返回false
 * 4.场景: 与in_array()相比,可以获取更精准的信息
 */

$res = array_search('male', $arr1);
//$res = array_search('female', $arr1);
//如果找到返回键名,否则返回false,并提示:没有找到
echo $res ?: '没有找到', '<hr>';


/**
 * 六、array_key_exists($key,$arr)
 * 1.功能: 判断数组中是否存在指定的键名
 * 2.参数: $key(必), $arr(必)
 * 3.返回: true / false
 * 4.场景: 仅适用于一维数组,判断GET参数很方便
 */

echo array_key_exists('name',$arr1) ? '键名存在' : '键名不存在', '<hr>';

/**
 * 七、array_flip($arr)
 * 1.功能: 键值互换
 * 2.参数: $arr(必)
 * 3.返回: 新数组
 */
echo var_export(array_flip($arr1),true),'<hr>';

/**
 * 八、array_reverse($arr)
 * 1.功能: 数组元素顺序反转
 * 2.参数: $arr(必)
 * 3.返回: 新数组
 */
echo var_export(array_reverse($arr1),true),'<hr>';
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学