2016-11-28 83 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_是動態的,意味着它可以是4,6或8

我想從options_1左右鍵上獲得價值「選項」。我怎樣才能做到這一點。

+0

儘量在你的問題,有多少選擇更具體的?總是4?無限?你嘗試了什麼?也請標記PHP,以便在相關類別中可見。 – phobia82

+0

對不起@ phobia82我更新了一分鐘。 – Ramkishan

+0

粘貼您的預期輸出+您嘗試完成的項目是什麼? – jitendrapurohit

回答

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>'; 
+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"; 
    } 
} 
相關問題