2011-11-19 113 views
0

我有以下$qtips_messages阵列,如何在PHP中获取特定的数组值?

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [tips_title] => email_tips 
      [tips_message] => ex:[email protected] 
      [tips_key] => key_email 
     ) 

    [1] => Array 
     (
      [id] => 2 
      [tips_title] => website_tips 
      [tips_message] => ex:http://www.yahoo.co.in 
      [tips_key] => key_website 
     ) 

    [2] => Array 
     (
      [id] => 3 
      [tips_title] => zipcode_tips 
      [tips_message] => ex:60612 
      [tips_key] => key_zipcode 
     ) 

    [3] => Array 
     (
      [id] => 4 
      [tips_title] => phone_tips 
      [tips_message] => ex:1234567890 
      [tips_key] => key_phone 
     ) 
) 

例如,我想要得到的提示消息tip_title“email_tips” 我曾与下面的代码试过,

foreach($qtips_messages as $qtipsArray){ 
    foreach($qtipsArray as $qkey=>$qvalue){ 
     if($qtipsArray['tips_title'] == 'email_tips'){ 
      $emailtipsMessage = $qtipsArray['tips_message']; 
     } 
    } 
} 

,当我跑上面的代码我没有得到任何价值。
这段代码有什么问题?

回答

1
$array = array(); 
foreach($result AS $k =>$val) 
    $array[$val['tips_key']] = $val['tips_message']; 
return $array; 

现在数组$阵列有Q-所有的值基于他们的钥匙提示...

希望这会帮助你...

2

你只需要一个循环:

$message = null; 
foreach ($array as $tips) { 
    if ($tips['tips_title'] == 'email_tips') { 
     $message = $tips['tips_message']; 
     break; 
    } 
} 

我可能会去这样的事情,虽然:

$message = current(array_filter($array, function ($tip) { return $tip['tips_title'] == 'email_tips'; })); 
echo $message['tips_message']; 
+0

谢谢,$ array将关联数组?我仍然没有得到任何价值。 – mymotherland

+0

'$ array'就是你的数组,'我想qtips_messages'。 – deceze

+0

$ message = null; ($ qtips_messages as $ tips){ if($ tips ['tips_title'] =='email_tips'){ $ message = $ tips ['tips_message']; 休息; } } echo $ message;出口;抱歉欺骗,我没有得到价值 – mymotherland

0

试试这种方式。

$array = array(); 
foreach($qtips_messages AS $k =>$val): 
if($val['tips_title']=='email_tips') 
{ 
    $array[$val['tips_key']] = $val['tips_message']; 
    print_r($array); 
    break; 
} 
endforeach; 
相关问题