如何获得具有某些特定键的数组

时间:2015-06-16 10:35:10

标签: php arrays key

我的数组是

[newconfig_name] => 'abc',
[name] => 'xyz',
[newconfig_qty] => '200',
[qty] => '100'

我需要具有与newconfig相同的密钥的数据

如何转换数组

[newconfig_name] => 'abc',
[newconfig_qty] => '200',

没有任何循环

4 个答案:

答案 0 :(得分:2)

你可以试试这个 -

foreach($arr as $key => $val) {
   if(strpos($key, 'newconfig') === 0) {
       $new[$key] = $val;
   }
}

<强>输出

array(2) {
  ["newconfig_name"]=>
  string(3) "abc"
  ["newconfig_qty"]=>
  string(3) "200"
}

答案 1 :(得分:1)

您可以将array_walk功能用作

$result = array();
array_walk($array,function($v,$k)use(&$result){
if(strpos($k,'newconfig')>-1){ 
   $result[$k] = $v;
}});

Fiddle

答案 2 :(得分:1)

使用这些代码行。

foreach($yourarray as $key=>$value)
{
   if(strcmp($key, 'newconfig') == 0)
   {
     $yourarray[$key] = 'newvalue';
   } 
}

答案 3 :(得分:1)

试试这个:

<?php
        $new_array = array();
        $my_key = "newconfig";
        $array = array(
                        'newconfig_name' => 'abc',
                        'name' => 'xyz',
                        'newconfig_qty' => '200',
                        'qty' => '100'
                       );
        foreach($array as $key => $data)
        {
            if( strpos($key , $my_key ) !== FALSE )
            {
                $new_array[$key] = $data;
            }
        }
        echo "<pre>";
        print_r($new_array);
        echo "</pre>";
    ?>

Check Demo Here