博客列表 >数组常用键值处理函数

数组常用键值处理函数

不羁PHP学习笔记
不羁PHP学习笔记原创
2018年11月29日 00:47:391162浏览

笔记

<?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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议