PHP查找二维数组的内容

PHP查找二维数组的内容,主要用到了array_column()和array_search()函数,先介绍一下这两个函数的用法

1、array_column(array, column_key, index_key):

返回输入数组中某一列的值

<?php
// 表示由数据库返回的可能记录集的数组
$a = array(
  array(
    'id' => 5698,
    'first_name' => 'Bill',
    'last_name' => 'Gates',
  ),
  array(
    'id' => 4767,
    'first_name' => 'Steve',
    'last_name' => 'Jobs',
  ),
  array(
    'id' => 3809,
    'first_name' => 'Mark',
    'last_name' => 'Zuckerberg',
  )
);

$last_names = array_column($a, 'last_name');
print_r($last_names);
?>
Array
(
  [0] => Gates
  [1] => Jobs
  [2] => Zuckerberg
)

这个时候也可以指定第三个参数,用作返回数组的索引/键的列

$last_names = array_column($a, 'last_name', 'id');
print_r($last_names);

Array
(
  [5698] => Gates
  [4767] => Jobs
  [3809] => Zuckerberg
)

2、array_search(value, array, strict):

在数组中搜索值并返回键名,strict代表严格模式,可选,要求查找的值与类型一致;如果在数组中知道指定的键值,则返回对应的键名,否则返回false

<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>

返回:a

华丽的分割线

开始查找二维数组的值:

<?php
$arr = [
    ['name'=>'张三', 'email'=>'zhangsan@qq.com'],
    ['name'=>'李四', 'email'=>'lisi@qq.com'],
    ['name'=>'王五', 'email'=>'wangwu@qq.com']
];

// 定义要查找的是哪个键的值
$found_arr = array_column($arr, 'name');
// var_dump($found_arr)
// ['张三', '李四', '王五']
$found_key = array_search('张三', $found_arr);
// $found_key = 0; 返回键名
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值