PHP-在while循环中使用变量($$)

马特·卡瓦纳(Matt Cavanagh)

因此,今天我尝试了一些我认为可能的事情,但显然不可能。

PHP版本:5.6

看一下这段代码:

$m = 1;
while ($m <= 12) {
    if (! isset($$dataRef[$m])) {
        echo '0,';
    } else {
        echo $$dataRef[$m] . ',';
    }
    $m++;
}

$$dataRef数字索引数组在哪里,按月显示(例如[1 => 12345.67]

if语句的作用是检查是否定义了月份号,如果未定义,则echo 0,否则执行值。

上面的代码片段导致if语句执行。我不知道为什么吗?

但是,如果然后将数组分配给“普通”变量,则代码可以正常工作:

$m = 1;
$data = $$dataRef;
while ($m <= 12) {
    if (! isset($data[$m])) {
        echo '0,';
    } else {
        echo $data[$m] . ',';
    }
    $m++;
}

任何人都可以解释吗?

阿尔瓦罗·冈萨雷斯(Alvaro Gonzalez)

您的代码会仔细省略相关的变量声明。我猜缺少的部分可能看起来像这样:

$abc = array(
    1 => 12345.67,
    2 => 876.54,
);
$dataRef = 'abc';
var_dump($$dataRef[0], $$dataRef[1], $$dataRef[2]);

...,并且这些通知为您提供了一个线索:

PHP Notice:  Undefined variable: a
PHP Notice:  Undefined variable: b
PHP Notice:  Undefined variable: c

换句话说,您不使用[]数组运算符。您正在将其用作字符串偏移量运算符。您想要这个:

var_dump(${$dataRef}[1], ${$dataRef}[2]);
float(12345.67)
float(876.54)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在php While循环中使用IF

来自分类Dev

在while循环中使用PHP MySQL Delete函数

来自分类Dev

如何使用变量变量 PHP 在 for 循环中使用 SELECT 创建字符串

来自分类Dev

在PHP中的for循环中使用模式

来自分类Dev

PHP:在循环中使用 Usort()

来自分类Dev

在while循环中使用PHP fpdf-我想拆分为多个pdf

来自分类Dev

在while循环中使用php字符串作为javascript函数中的参数

来自分类Dev

PHP 和 MySQL 在 while 循环中使用 LEFT JOIN 调用数据

来自分类Dev

如何跟踪变量值是否在同一PHP while循环中多次使用

来自分类Dev

如何跟踪变量值是否在同一PHP while循环中多次使用

来自分类Dev

如何在PHP的While循环中使行彼此偏移

来自分类Dev

PHP MySQL如何获取在while循环中创建的变量

来自分类Dev

获取PHP while循环中变量值的总和

来自分类Dev

使用PHP在for循环中使用mysql查询困难

来自分类Dev

在JavaScript中使用PHP变量进行循环

来自分类Dev

在while循环中使用mysqli_fetch_array时,PHP / MySQL如何知道获取下一行?

来自分类Dev

PHP 代码不会迭代到 while 循环中的下一个数据变量(使用引导程序)

来自分类Dev

在foreach循环中使用PHP解析数组值

来自分类Dev

在每个循环中使用php类对象

来自分类Dev

如何在逆向php循环中使用模数?

来自分类Dev

PHP在foreach循环中使用不同的网格大小

来自分类Dev

在循环中使用键值对递增php数组

来自分类Dev

在foreach循环中使用PHP更改外部Javascript的值

来自分类Dev

php:在foreach循环中使用不同的数组

来自分类Dev

PHP-在foreach循环中使用多个值

来自分类Dev

如何使用PHP在for循环中创建变量列表

来自分类Dev

PHP中的foreach循环中的while循环

来自分类Dev

在随后的 While 循环中使用 beanshell 变量

来自分类Dev

PHP在while循环中所有变量的总和,同时回显单个结果

Related 相关文章

  1. 1

    在php While循环中使用IF

  2. 2

    在while循环中使用PHP MySQL Delete函数

  3. 3

    如何使用变量变量 PHP 在 for 循环中使用 SELECT 创建字符串

  4. 4

    在PHP中的for循环中使用模式

  5. 5

    PHP:在循环中使用 Usort()

  6. 6

    在while循环中使用PHP fpdf-我想拆分为多个pdf

  7. 7

    在while循环中使用php字符串作为javascript函数中的参数

  8. 8

    PHP 和 MySQL 在 while 循环中使用 LEFT JOIN 调用数据

  9. 9

    如何跟踪变量值是否在同一PHP while循环中多次使用

  10. 10

    如何跟踪变量值是否在同一PHP while循环中多次使用

  11. 11

    如何在PHP的While循环中使行彼此偏移

  12. 12

    PHP MySQL如何获取在while循环中创建的变量

  13. 13

    获取PHP while循环中变量值的总和

  14. 14

    使用PHP在for循环中使用mysql查询困难

  15. 15

    在JavaScript中使用PHP变量进行循环

  16. 16

    在while循环中使用mysqli_fetch_array时,PHP / MySQL如何知道获取下一行?

  17. 17

    PHP 代码不会迭代到 while 循环中的下一个数据变量(使用引导程序)

  18. 18

    在foreach循环中使用PHP解析数组值

  19. 19

    在每个循环中使用php类对象

  20. 20

    如何在逆向php循环中使用模数?

  21. 21

    PHP在foreach循环中使用不同的网格大小

  22. 22

    在循环中使用键值对递增php数组

  23. 23

    在foreach循环中使用PHP更改外部Javascript的值

  24. 24

    php:在foreach循环中使用不同的数组

  25. 25

    PHP-在foreach循环中使用多个值

  26. 26

    如何使用PHP在for循环中创建变量列表

  27. 27

    PHP中的foreach循环中的while循环

  28. 28

    在随后的 While 循环中使用 beanshell 变量

  29. 29

    PHP在while循环中所有变量的总和,同时回显单个结果

热门标签

归档