How to access php variable using concatenation

This question already has an answer here:

  • PHP - Variable inside variable? 6 answers

  • Arrays: A Better Method

    While PHP does permit you to build dynamic variable names from various other values, you probably shouldn't in this case. It seems to me that an array would be more appropriate for you:

    $items = array( 0, 12, 34 );
    

    You could then access each value individually:

    echo $items[0]; // 0
    echo $items[1]; // 12
    

    Or loop over the entire set:

    foreach ( $items as $number ) {
      echo $number; // 1st: 0, 2nd: 12, 3rd: 34
    }
    

    Merging Multiple Arrays

    You indicated in the comments on the OP that $item1 through $item3 are already arrays. You could merge them all together into one array if you like with array_merge() , demonstrated below:

    $item1 = array( 1, 2 );
    $item2 = array( 3, 4 );
    $item3 = array( 5, 6 );
    
    $newAr = array_merge( $item1, $item2, $item3 );
    
    print_r( $newAr );
    

    Which outputs:

    Array
    (
      [0] => 1
      [1] => 2
      [2] => 3
      [3] => 4
      [4] => 5
      [5] => 6
    )
    

    If You Must: Dynamic Variable Names

    For completeness, if you were to solve your problem by dynamically constructing variable names, you could do the following:

    $item1 = 12;
    $item2 = 23;
    $item3 = 42;
    
    for ( $i = 1; $i <= 3; $i++ ) {
      echo ${"item".$i} . PHP_EOL;
    }
    

    build the variable name you want to access into another variable then use the variable variable syntax

    <?php
       $item1 = 'a';
       $item2 = 'b';
       $item3 = 'c';
    
       for ($i = 1; $i<=3; $i++) {
           $varname = 'item' . $i;
           echo $$varname;
       }
    ?>
    

    output:

    abc

    Note there are other ways to do this, see the manual.


    Use ${'item'.$i}
    If $i == 1 , then you will access $item1 .

    But it's better to use arrays in your case.

    链接地址: http://www.djcxy.com/p/59110.html

    上一篇: 可观察网络IO解析

    下一篇: 如何使用串联访问php变量