Home » Php » creating variable name by concatenating strings in php

creating variable name by concatenating strings in php

Posted by: admin April 23, 2020 Leave a comment

Questions:

I have a file named questions.php with an array as follows :

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

I am including this file in another file as follows :

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

The above code just outputs the following string (not the contents of the variable):

$question12[0]

But I want the variable $question to contain the string present in $question12[0].

How do I accomplish this?

How to&Answers:

Variable variable is not recommended, but the answer is below:

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

Answer:

Just use $question12[0]. It will give you the desired output.

Using the $var you can do it like this:-

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

Answer:

You’re looking for variable variables.

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

You should seriously consider looking into multidimensional arrays to stop having multiple arrays.

Answer:

Sorry, im going to get some hate for mentioning something evil but still it is one of the options

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

P.S: eval() is that evil