2015-07-29 4 views
0

У меня есть массив как это:Поиск значений в массиве PHP

array(5) { 
[0]=> array(1) { ["go-out"]=> string(7) "#0d4b77" } 
[1]=> array(1) { ["cycling"]=> string(7) "#1472b7" } 
[2]=> array(1) { ["diving"]=> string(7) "#1e73be" } 
[3]=> array(1) { ["exploring"]=> string(7) "#062338" } 
[4]=> array(1) { ["eating"]=> string(7) "#f79e1b" } 
} 

Допустим, у меня есть первое значение, как «езда на велосипеде», так как я могу найти значение «# 147217»?

Я пытался много комбинаций из

foreach ($array as $key => list($key1 ,$val)) { 
      if ($key1 === $id) { 
       return $val; 
      } 
     } 

Но не повезло. Идеи?

+0

Вы пробовали array_search? – Snickbrack

ответ

0

Вы можете использовать array_column -

array_column($your_array, 'cycling'); 

DEMO

Вы также должны добавить проверку на наличие ключа.

0

вы все еще можете сделать один цикл

$id = "cycling"; 
foreach($array as $val) 
    if(isset($val[$id])) echo $val[$id]; 

Demo on Evail.in

0

Я reformated тур код, попробуйте это, что работает:

$array = array(
    0 => array("go-out" => "#0d4b77"), 
    1 => array("cycling" => "#1472b7"), 
    2 => array("diving" => "#1e73be"), 
    3 => array("exploring" => "#062338"), 
    4 => array("eating" => "#f79e1b") 
); 

$id = "cycling"; 

foreach ($array as $key => $entry) { 
    if ($entry[$id]) { 
     echo $entry[$id]; 
    } 
} 
0
$array = array(
    0 => array("go-out" => "#0d4b77"), 
    1 => array("cycling" => "#1472b7"), 
    2 => array("diving" => "#1e73be"), 
    3 => array("exploring" => "#062338"), 
    4 => array("eating" => "#f79e1b") 
); 

$search = "cycling"; 

foreach ($array as $key => $entry) 
    if (isset($entry[$search])) 
     echo $entry[$search]; 

Это работает.

Nice day.

Смежные вопросы