2016-10-19 5 views
-1

У меня есть следующий PHP код:PHP возврата второго значения 2D массива

$special_files = array(
     array("Turnip", "Tweed"), 
     array("Donald", "Trump") 
    ); 

Я хочу, чтобы иметь возможность получить второе значение в вложенном массиве путем определения первого. например: if_exists («Дональд») вернет «козырь».

Я попытался пройти через массив, но я не понимаю, как выбрать второе значение после того, как будет идентифицировано первое.

Любая помощь будет оценена

ответ

0

Вы можете использовать что-то вроде этого:

$special_files = array(
     array("Turnip", "Tweed"), 
     array("Donald", "Trump") 
    ); 

$search_val = "Donald"; 
$key = array_search($search_val, array_column($special_files,0)); 

$output = $special_files[$key][1]; //outputs "Trump" 

Here является рабочим образцом.

+0

Это в значительной степени именно то, что я хотел сделать. Спасибо за помощь! –

0

Ну, вы можете попробовать следующее:

foreach ($special_files as $special_file) { 
    $i = 1; 
    foreach ($special_file as $element) { 
     if ($i==2) { 
      echo ("Second value is: " . $element); 
      break; 
     } 
     $i++; 
    } 
} 
0

Вы можете извлечь [1] элементы и индексировать их по [0] элементов:

$lookup = array_column($special_files, 1, 0); 
$result = isset($lookup['Donald']) ?: false; 

Выход $lookup массива:

Array 
(
    [Turnip] => Tweed 
    [Donald] => Trump 
) 
Смежные вопросы