V
V
Vasily2021-09-18 21:05:38
PHP
Vasily, 2021-09-18 21:05:38

How to access the keys of a multidimensional array?

Hello. I'm trying to implement the output of data from an array, the value of which is variables. I don't know how to write it correctly, so I'll show you with an example.

// Значение переменных
$audi     = true;
$bmw      = false;
$mercedes = true;
$toyota   = true;

// Массив с данными
$arr = [
  'audi'     => [
    '<svg>...</svg>', // Иконка
    $audi,            // True/false
    'Audi'            // Название
  ],
  'bmw'      => [
    '<svg>...</svg>', // Иконка
    $bmw,             // True/false
    'BMW'             // Название
  ],
  'mercedes' => [
    '<svg>...</svg>', // Иконка
    $mercedes,        // True/false
    'Mercedes'        // Название
  ],
  'toyota' => [
    '<svg>...</svg>', // Иконка
    $toyota,          // True/false
    'Toyota'          // Название
  ],
];

// Перебор массива
foreach( $arr as $key ) {

  return 'Как правильно сделать проверку на существующее значение из базы вывести данные?';

}


I want to get the output:
<svg>...</svg> Audi
<svg>...</svg> Mercedes
<svg>...</svg> Toyota

Answer the question

In order to leave comments, you need to log in

2 answer(s)
0
0xD34F, 2021-09-18
@0xD34F

echo implode("\n", array_map(fn($n) => "$n[0] $n[2]", array_filter($arr, fn($n) => $n[1])));

S
Slava Rozhnev, 2021-09-18
@rozhnev

Elementary:

foreach( $arr as $key=>$value ) {
  if ($value[1]) {
    printf("%s %s\n", $value[0], $value[2]);  
  }
}

Share PHP code
or like this:
// Перебор массива
foreach( $arr as $key=>$value ) {
  if ($$key) {
    printf("%s %s\n", $value[0], ucfirst($key));  
  }
}

run php online

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question