【问题标题】:Filter values from array in PHP从 PHP 中的数组中过滤值
【发布时间】:2015-02-04 04:01:42
【问题描述】:

我想从下面的数组中过滤出[name] 的值。

Array
(
    [0] => Array
        (
            [name] => tags1
        )

    [1] => Array
        (
            [name] => tag2
        )

    [2] => Array
        (
            [name] => tag3
        )
)

怎么做?

【问题讨论】:

标签: php arrays


【解决方案1】:

如果您只想获取数组中的所有 name 值:

array_column() 需要 PHP >= 5.5.0 或使用 PHP Implementation of array_column()

$names = array_column($array, 'name');

【讨论】:

  • 谢谢,我记住了。不幸的是,我的服务器目前只运行 5.3。
【解决方案2】:

如果您正在寻找简单的解决方案,您可以使用 foreach 循环:

foreach($array as $row){
    echo $row['name'];
}

【讨论】:

  • 太棒了,谢谢。如何将循环的结果转换为新数组? (在一个数组中找到所有 ['name'] 值)
  • 而不是回显写入 $result[] = $row['name']。它将新值附加到 $result 数组。当然在 foreach 之前放 $result = array();
【解决方案3】:

我认为您希望能够按特定名称过滤输出数组? 此函数将返回一个数组,该数组仅包含具有匹配 'name' 的子数组

function getspecificname($thisarray,$thisname){
    $arraytoreturn=array();
    foreach($thisarray as $onearray){
        if($onearray['name']==$thisname){
            $arraytoreturn[]=$onearray;
        }
    }
    return $arraytoreturn;
}

$myfilteredarray=getspecificname($yourarray,'tag2');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多