向php数组函数array_colum()传入奇怪的数组
<?php
// 向php数组函数array_colum()传入奇怪的数组
// array_colum()函数 返回行列数组的其中一列,可以用其他列的键充当键
$arr = [
[ 1, 2, 3, 4, 5 ],
[ 1, 2, 3, 4, 5 ],
[ 1, 2, 3, 4, 5 ]
];
print_r( array_column( $arr, 1, 2 ) );
// Array
// (
// [3] => 2
// )
// 本例,用第三列作返回第二列的键,第三列的值都是4,array_colum()返回的数组键名重复,
// 于是值被覆盖,最后只剩下一个元素
print_r( array_column( $arr, 1 ) );
// Array
// (
// [0] => 2
// [1] => 2
// [2] => 2
// )
// array_colum( $arr, 1 ) 这样使用就可以获得第二列的值。 $arr = [
[1, 2, 3, 4],
[5, 6, 7],
[8, 9, 10, 11]
];
print_r( array_column( $arr, 1, 3 ) );
// Array
// (
// [4] => 2
// [5] => 6
// [11] => 9
// )
// 本例中,目标数组的第四列缺少一项,于是返回的数组第二个元素的键被系统php自动设置成了5
$arr = [
[1, 2, 3, 4],
[5, 6, 7],
[8, 9, 10, 11]
];
print_r( array_column( $arr, 3, 1 ) );
// Array
// (
// [2] => 4
// [9] => 11
// )
// 在本例中,目标数组的第四列少一个值,返回的数组并不含这一项。
$arr = [
['a', 'b', 'c', 'd'],
['e', 'f', 'g' ],
['i', 'j', 'k', 'l']
];
print_r( array_column( $arr, 1, 3 ) );
// Array
// (
// [d] => b
// [0] => f
// [l] => j
// )
// 当第四列其中一个没有值时,系统会自动补上索引键名
$arr = [
['a', 'b', 'c', 'd'],
['e', 'f', 'g' ],
['i', 'j', 'k', 'l']
];
print_r( array_column( $arr, 3, 1 ) );
// 和上面一样,当某一列没有值,而又被指定为返回数组的值,这时,返回数组不含这个值
$arr = [
['a' => 'a', 'b' => 'b', 'c' => 'c'],
['d' => 'd', 'e' => 'e', 'f' => 'f'],
['g' => 'g', 'h' => 'h', 'i' => 'i']
];
print_r( array_column( $arr, 'b', 'c' ) );
// Array
// (
// [c] => b
// )
// 因为指定的这两列都只有一个满足条件,于是返回数组只有一个元素
向php数组函数array_colum()传入奇怪的数组的更多相关文章
- PHP数组函数 array_multisort() ----对多个数组或多维数组进行排序
PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...
- php中的常用数组函数(二)(数组元素过滤 array_filter())
array_filter($arr, 'filter_func'); //参数1,要过滤的数组 //参数2,过滤的函数,返回false时,不添加这个元素,返回true添加这个元素. 示例代码: /** ...
- php中的常用数组函数(五)(数组中获取键名集合)
array_keys($arr, $search_value, $strict); --数组中获取键名的集合. //参数1 要检索的数组:参数2 要检索的键值 默认NULL: 参数3 是否严格比较(= ...
- php中的常用数组函数(四)(数组中是否有某个键名或索引)
/***********array_key_exists(检查键名或索引是否在数组中)*****************/ $arr1 = array('name' => 'Sheldon', ...
- php中的不常用数组函数(一)(数组中元素的键和值对调 array_flip())
array_flip($arr); //交换数组中的键和值. //如下所示,如果$arr中有相同的值.交换之后 会被旧的覆盖,最后一个有效. /***********array_flip(交换数组中的 ...
- c语言 函数返回二位数组 函数参数为二维数组
通过typedef可以简单实现.也可以直接写. 写了两个简单的矩阵操作的函数简单示例. #include <stdio.h> #include <stdlib.h> const ...
- php常用数组函数回顾一
数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习.里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住 ...
- php操作数组函数
整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数.数组的分段和填充.数组与栈.数组与列队.回调函数.排序.计算.其他的数组函数等. 一.数组操作的基本函数 数组的键名和值 array_va ...
- PHP中常用的数组函数总结
整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数,数组的分段和填充,数组与栈,数组与列队,回调函数,排序,计算,其他的数组函数等. 一,数组操作的基本函数 数组的键名和值 array_va ...
随机推荐
- CF547E Mike and Friends 后缀自动机+线段树合并
裸题,敲完后没调就过了 ~ code: #include <bits/stdc++.h> using namespace std; #define ll long long #define ...
- mysql ERROR 1862 (HY000): 密码超时错误解决 Your password has expired.To log in you must change it using a client that supports expired password
工具链接可能报错,使用黑窗口链接后: 1. SET PASSWORD = PASSWORD("xinmima"); 2. flush privileges; 使用新密码链接即可.
- CURL shell 使用
#! /bin/bash requrl="http://www.baidu.com/xxxxxx" while true do html=$(curl -s "$requ ...
- JavaScript高级程序编程(三)
2017-06-24 更新 北京连续三天下雨啦 乘性操作符 1.ECMA中定义了三种操作符,乘法 除法 和求模 并与其他语言相应操作符相同,再计算之前如果不是数值,会先去调用number()方法转 ...
- server2003 IIS6.0 网站不可用
事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息.您可能可以使用 /AUXSOURC ...
- 搭建高可用rabbitmq集群及spring boot实现集群配置
java spring boot配置: //具体参看了配置的源码 org.springframework.boot.autoconfigure.amqp.RabbitProperties //Rabb ...
- C# linq 使用Groupby lamda 获取非重复数据
).GroupBy(b => b.BasicUserId).Select(a => new MyServicesListViewModel() { HeadIcon = apiUrl + ...
- PostgreSQL中的一些日志
1.Write Ahead Log(WAL日志)预写日志(WAL)是保证数据完整性的标准方法.在有关交易处理的大多数(如果不是全部)书籍中都可以找到详细说明. 简而言之,WAL的核心概念是,只有在记录 ...
- remaining connection slots are reserved for non-replication superuser connections
使用客户端工具连接pg,连接失败,报错以下错误: FATAL: remaining connection slots are reserved for non-replication superuse ...
- 缓存:修改Hosts不生效
修改Hosts为何不生效,是DNS缓存? - Barret李靖 - 博客园https://www.cnblogs.com/hustskyking/p/hosts-modify.html 换个未打开过的 ...