如何从php中的数组中提取特定的键字符串?

时间:2016-11-28 05:48:31

标签: php arrays key extract

这是我的数组

Array
        (
            [question_set] => Computer Basics
            [question] => Who are You ?
            [options_1] => RK
            [options_2] => KAMAL
            [options_3] => DPK
            [options_4] => NARENDRA
            [marks] => 5
            [negative_marks] => 1
            [type] => 1
        )

options_是动态意味着它可以是4,6或8。

我想从options_1的键中获取值“ options ”,或者等等。我怎么能这样做。

2 个答案:

答案 0 :(得分:2)

strpos比preg_match更快,供参考:strpos() vs preg_match()

使用foreach和strpos():

$arr = array(
        "question_set" => "Computer Basics",
        "question" => "Who are You ?",
        "options_1" => "RK",
        "options_2" => "KAMAL",
        "options_3" => "DPK",
        "options_4" => "NARENDRA",
        "marks" => 5,
        "negative_marks" => 1,
        "type" => 1
    );

$newArr = array();
foreach($arr as $key => $value) {
   if(strpos($key, "options") !== false) {
       $newArr[$key] = $value;
   }
}

echo '<pre>';
    var_dump($newArr);
echo '</pre>';

答案 1 :(得分:0)

<?php

$array = array("options_1"   => "RK",  
               "options_213" => "21313",
               "options_4"   => "NARENDRA",
               "foo"         => "bar", 5 , 5 => 89009,
              );

$pattern = "/\boptions/";

foreach($array as $key => $value) {
    if (preg_match($pattern,$key)){
        echo $key."\t=>\t".$value."\n";
    }
}