<?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()传入奇怪的数组的更多相关文章

  1. PHP数组函数 array_multisort() ----对多个数组或多维数组进行排序

    PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...

  2. php中的常用数组函数(二)(数组元素过滤 array_filter())

    array_filter($arr, 'filter_func'); //参数1,要过滤的数组 //参数2,过滤的函数,返回false时,不添加这个元素,返回true添加这个元素. 示例代码: /** ...

  3. php中的常用数组函数(五)(数组中获取键名集合)

    array_keys($arr, $search_value, $strict); --数组中获取键名的集合. //参数1 要检索的数组:参数2 要检索的键值 默认NULL: 参数3 是否严格比较(= ...

  4. php中的常用数组函数(四)(数组中是否有某个键名或索引)

    /***********array_key_exists(检查键名或索引是否在数组中)*****************/ $arr1 = array('name' => 'Sheldon', ...

  5. php中的不常用数组函数(一)(数组中元素的键和值对调 array_flip())

    array_flip($arr); //交换数组中的键和值. //如下所示,如果$arr中有相同的值.交换之后 会被旧的覆盖,最后一个有效. /***********array_flip(交换数组中的 ...

  6. c语言 函数返回二位数组 函数参数为二维数组

    通过typedef可以简单实现.也可以直接写. 写了两个简单的矩阵操作的函数简单示例. #include <stdio.h> #include <stdlib.h> const ...

  7. php常用数组函数回顾一

    数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习.里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住 ...

  8. php操作数组函数

    整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数.数组的分段和填充.数组与栈.数组与列队.回调函数.排序.计算.其他的数组函数等. 一.数组操作的基本函数 数组的键名和值 array_va ...

  9. PHP中常用的数组函数总结

    整理了一份PHP开发中数组操作大全,包含有数组操作的基本函数,数组的分段和填充,数组与栈,数组与列队,回调函数,排序,计算,其他的数组函数等. 一,数组操作的基本函数 数组的键名和值 array_va ...

随机推荐

  1. c++ 将float 类型转换成string 类型

    string Convert(float Num) { ostringstream oss; oss<<Num; string str(oss.str()); return str; }

  2. WinDbg常用命令系列---?*

    ? (Command Help) 问号(?)字符显示所有命令和运算符的列表.问号本身显示命令帮助. 环境 模式 用户模式下,内核模式 目标 实时. 崩溃转储 平台 全部 0:000> ? Ope ...

  3. 如何防范web前端安全攻击

    一.对于XSS防御: 1.不要信任任何外部传入的数据,针对用户输入作相关的格式检查.过滤等操作,以及转义字符处理.最普遍的做法就是转义输入输出的内容,对于括号,尖括号,斜杠进行转义 function ...

  4. 洛谷P3620 [APIO/CTSC 2007] 数据备份

    题目 贪心+堆. 一般贪心题用到堆的时候都会存在一种反悔操作,因此这个题也不例外. 首先电缆一定是连接两个相邻的点的,这很好证明,其次一个点只能被一条电缆连接,所以我们通过选这个电缆,不选相邻电缆和选 ...

  5. mysql 提示ssl问题

    问题信息如下: rements SSL connection must be established by default if explicit option isn't set. For comp ...

  6. element ui 里面的table怎么弹出一个框让表中数据点击出现弹框

    <el-table-column label="团队" prop="name" min-width="120px" align=&qu ...

  7. XMind配置防火墙

    1.打开控制面板,找到防火墙 2. 启用Windows防火墙 3.高级设置,新建入站规则 配置部分一律“下一步”. XMind配置防火墙完成.如果还不行,相同方式设置出站规则.

  8. $(window).load()方法的使用场景

    一.$(window).load().window.onload=function(){}和$(document).ready()方法的区别 1.$(window).load() 和window.on ...

  9. svg入门详解

    一.svg是什么? SVG 意为可缩放矢量图形(Scalable Vector Graphics). SVG 是使用 XML 来描述二维图形和绘图程序的语言. SVG 图像在放大或改变尺寸的情况下其图 ...

  10. IDEA中执行maven命令:mvn clean 时报错

    问题描述: 完成项目中的功能后,想要git一下,就用maven命令先清除一下编译文件,紧接着系统报错 Error executing Maven. 2 problems were encountere ...