如何使用串联访问php变量

这个问题在这里已经有了答案:

  • PHP - 变量内部变量? 6个答案

  • 数组:一种更好的方法

    虽然PHP确实允许您从各种其他值构建动态变量名称,但在这种情况下您可能不应该这样做。 在我看来,一个数组将更适合你:

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

    然后您可以分别访问每个值:

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

    或者遍历整个集合:

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

    合并多个数组

    您在OP的评论中指出$item1$item3已经是数组。 如果你喜欢array_merge() ,你可以将它们全部合并成一个数组,如下所示:

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

    哪些输出:

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

    如果您必须:动态变量名称

    为了完整起见,如果要通过动态构造变量名来解决问题,可以执行以下操作:

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

    将想要访问的变量名称构建到另一个变量中,然后使用变量变量语法

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

    输出:

    ABC

    请注意,还有其他方法可以执行此操作,请参阅手册。


    使用${'item'.$i}
    如果$i == 1 ,那么您将访问$item1

    但最好在你的情况下使用数组。

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

    上一篇: How to access php variable using concatenation

    下一篇: How can I iterate through multiple strings with multiple array values, in PHP?