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

Php 获取具有特定字符串的所有数组数据,php,arrays,string,Php,Arrays,String,我想获取所有数组数据,其中键从一开始就有字符“ch”。我怎么得到它 Array ( [editpostid] => 0 [editpostcat] => 1 [ch114] => on [ch115] => on ) 数据的键可能会有所不同,因为数字来自数据库中的记录id 如何将键开头带有“ch”的所有数据放在一个单独的数组中?这样做吗 <?php $arr = array('ch'=>10,'abch'=>20,'ch23'=>45); $ne

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

Array ( [editpostid] => 0 [editpostcat] => 1 [ch114] => on [ch115] => on )
数据的键可能会有所不同,因为数字来自数据库中的记录id

如何将键开头带有“ch”的所有数据放在一个单独的数组中?

这样做吗

<?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);

请参阅以了解更多信息
从一开始就包含字符“ch”。
:这将获取包含
ch
的字符。除非这是他们想要的,因为他们在question@sectus.. 谢谢你让我知道。。我已经修改了:)这里不需要正则表达式,尽可能避免。
Array
(
    [0] => 10
    [1] => 45
)
$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);