获取具有特定字符串的所有数组数据

时间:2013-12-02 05:36:17

标签: php arrays string

我想获取所有数组数据,其中键从一开始就具有字符'ch'。我怎么得到它?

Array ( [editpostid] => 0 [editpostcat] => 1 [ch114] => on [ch115] => on )

数据的密钥可能会有所不同,因为数字来自数据库中的记录ID。

如何将键开头的'ch'所有数据放到一个单独的数组上?

2 个答案:

答案 0 :(得分:1)

这样做

<?php
$arr = array('ch'=>10,'abch'=>20,'ch23'=>45);
$newarr=array();
foreach($arr as $k=>$v)
{
if(substr(strtolower($k),0,2)=='ch')
{
array_push($newarr,$v); // Make use of this if you just need the values
//$newarr[$k]=$v; // Uncomment this and comment above statement, if you need the keys too 
}
}
print_r($newarr);

<强>输出:

Array
(
    [0] => 10
    [1] => 45
)

答案 1 :(得分:1)

$charray=array();
foreach($yourarray as $key=>$value){
        if(preg_match("/^ch/",$key)){
            $charray[$key]=>$value;
        }
    }
//$charray is the new arrayas you asked for
echo implode(',',$charray);

请参阅 official documentation for preg_match 以获取更多信息