2016-11-28 14 views
0

これは私の配列phpの配列から特定のキー文字列を抽出するには?

 
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_では動的で、それは私が上options_1かのキーから「オプションを」値を取得したい4、6または8

ことができることを意味します。これどうやってするの。

+0

は、あなたの質問に具体的にしてください、どのように多くのオプション?常に4?無制限ですか?何を試しましたか?また、関連するカテゴリに表示されるようにPHPにタグを付けてください。 – phobia82

+0

申し訳ありません@ phobia82 1分更新します。 – Ramkishan

+0

あなたの予想される出力を貼り付けてください+あなたはそれを達成しようとしましたか? – jitendrapurohit

答えて

2

strposは、参考のために、するpreg_matchより道高速です:foreachのとstrpos()を使用してstrpos() vs preg_match()

$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>'; 
+0

ありがとう@ L.Herrera – Ramkishan

+0

ようこそ@Ramkishan! :) –

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"; 
    } 
} 
関連する問題