Сравните строки JSON в переполнении стека

У меня есть файл JSON страны, как это

[
{
"name": "Afghanistan",
"code": "AF"},
{
"name": "Åland Islands",
"code": "AX"},
{
"name": "Albania",
"code": "AL"},
{
"name": "Algeria",
"code": "DZ"},
{
"name": "American Samoa",
"code": "AS"<?php
$string = file_get_contents('countries.json');
$array = json_decode($string, true);

foreach ($array as $person_name => $person_a) {
if(strcmp($person_name,'HR')==0)
{
echo $person_a['name'].'<br>';
}
}
?>

Мне нужно сравнить «код» с заданным значением, а затем вывести соответствующую страну, как я могу найти код для ex. «ГБ», а затем «Великобритания»?

-2

Решение

использование array_search с array_column1:

$found = array_search( 'DZ', array_column( $array, 'code' ) );
if( $found === False ) echo "Not Found";
else                   echo $data[$found]['name'];

array_column возвращает все значения кода: с array_search вы получаете соответствующий ключ и, если он найден, вы можете повторить соответствующее имя.


1 доступно как PHP> = 5.5

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]