Подтвердить что ты не робот

Создание имени переменной путем конкатенации строк в php

У меня есть файл с именем questions.php с массивом следующим образом:

$question12 = array("Which is the tallest mountain","Mt Everest");

Я включил этот файл в другой файл следующим образом:

require_once('questions.php');
$var = 12;
$question = '$question'.$var.'[0]';
echo $question;

Приведенный выше код просто выводит следующую строку (не содержимое переменной):

$question12[0]

Но я хочу, чтобы переменная $ question содержала строку, присутствующую в $ question12 [0].

Как мне это сделать?

4b9b3361

Ответ 1

Переменная переменная не рекомендуется, но ответ ниже:

$question = ${'question'.$var}[0];

Ответ 2

Просто используйте $question12 [0]. Это даст вам желаемый результат.

Используя $var, вы можете сделать это следующим образом: -

$question = ${'question'. $var}[index];

Ответ 3

Вы ищете переменные переменные.

$id = 12;
$q = "question{$id}";
$q = $$q[0];

Вы должны серьезно рассмотреть возможность поиска в многомерных массивах, чтобы прекратить использование нескольких массивов.

Ответ 4

Извините, я собираюсь получить ненависть к упоминанию чего-то evil, но все же это одна из опций

<?php
$question12 = array("Which is the tallest mountain","Mt Everest");
$var = 12;
$question = '$question'.$var.'[0]';
eval("echo $question;");
?>

P.S: eval() заключается в том, что evil