You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 7:如何筛选数组中state为'KS'的所有成员

如何筛选PHP数组中state为'KS'的成员?

嘿,我来帮你搞定这个问题!要从你给出的数组里筛选出所有state值为'KS'的元素,有两种实用的PHP方法,我给你详细说说:

方法一:用array_filter()快速过滤

这是PHP里处理数组过滤最常用的函数,简洁又高效,只需要写个简单的回调函数来判断条件就行:

// 先定义你的原始数组
$locations = [
    'CA,Santa Barbara' => [
        'state' => 'CA',
        'city' => 'Santa Barbara'
    ],
    'KS,Andover' => [
        'state' => 'KS',
        'city' => 'Andover'
    ],
    'KS,Wichita' => [
        'state' => 'KS',
        'city' => 'Wichita'
    ]
];

// 筛选出state等于'KS'的元素
$ksLocations = array_filter($locations, function($item) {
    return $item['state'] === 'KS';
});

// 打印结果看看
print_r($ksLocations);

运行这段代码后,$ksLocations里就会包含'KS,Andover'和'KS,Wichita'这两个成员啦。array_filter()会自动遍历数组,把回调函数返回true的元素保留下来,非常省心。

方法二:手动遍历数组(适合需要额外操作的场景)

如果你需要在筛选过程中做一些额外的处理(比如修改元素内容、记录日志之类的),手动循环遍历会更灵活:

$ksLocations = [];
foreach ($locations as $key => $item) {
    // 判断当前元素的state是否为'KS'
    if ($item['state'] === 'KS') {
        // 符合条件就加入新数组
        $ksLocations[$key] = $item;
    }
}

print_r($ksLocations);

这种方法逻辑更直观,你可以在if块里添加任何你需要的额外逻辑,自由度更高。

两种方法都能达到你的需求,要是追求代码简洁就选第一种,需要额外操作就用第二种~

内容的提问来源于stack exchange,提问作者Eric Snyder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:09:45