skip to Main Content

I am trying to create a new variable out of part of another variables value. I have gone through multiple other SO threads but I am trying to figure out how to make the new variable its own instance. Making a variable out of another variables' value in php (php basics)

I have this variable: $id = 0 ;

I want to create: $limit_$id (IE: $limit_0) that I can reference just as native variable. I believe I can do this: $${'limit_'.$id}, but is there any way to actually end up with $limit_0 so I don’t have to reference it as $${'limit_'.$id) ???

3

Answers


  1. You could use extract ( https://www.php.net/manual/en/function.extract.php ) for those kind of things.

    extract(['limit_' . $id => 'foo']);
    
    echo $limit_0; // foo
    
    Login or Signup to reply.
  2. You can use the form ${"limit_$id"}, but it’s a variation of what you already proposed:

    <?php
    $id = 1;
    $limit_1 = 42;
    echo ${"limit_$id"}, PHP_EOL;
    ${"limit_$id"} = 43;
    echo ${"limit_$id"}, PHP_EOL;
    
    Login or Signup to reply.
  3. What do you mean by "reference it as $${'limit_'.$id)"?

    You can do something like:

    $id = 0;
    
    ${'limit_' . $id} = 'foo';
    
    echo $limit_0; // foo
    

    But, as someone already pointed out in a comment: if you already know the name of the final variable, you can just define it directly with that name.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search