在数组中存储变量名称

Kev*_*ber 0 php arrays

所以我有一个变量列表

$TestData1="Hello";
$TestData2="";
$TestData3="0";
$TestData4="Yes";
$TestData5=" ";
$TestData6="No";
Run Code Online (Sandbox Code Playgroud)

我想创建一个将通过过滤器运行所有这些变量的函数.我想让这个循环检查一次性中的所有变量.我有想法将变量名存储在一个数组中.如下所示.

$TestArray=array("TestData1", "TestData2", "TestData3", "TestData4","TestData5","TestData6");
Run Code Online (Sandbox Code Playgroud)

所以我的主要问题是如何在数组中获取这些名称并运行一个循环来检查是否满足某个条件.以下示例.

foreach ($TestArray as $Data):

   $VariableToTestConnditions="$".$Data;



endforeach;
Run Code Online (Sandbox Code Playgroud)

我知道这句话不起作用,但这是我能想到的.如果变量值=="是"那么将是原始变量的值改为"N/A".因此,在检查所有变量之后,它会将$ TestData4更改为"N/A".

ken*_*ypu 5

而不是拥有一个名称数组,有一个关联数组(键值对)更有意义:

$TestArray = array(
    "TestData1" => "Hello",
    "TestData2" => "",
    "TestData3" => "0",
    "TestData4" => "Yes",
    "TestData5" => " ",
    "TestData6" => "No"
);
Run Code Online (Sandbox Code Playgroud)

现在如果你想测试一个变量:

foreach($TestArray as $key => $value) {
    if($VariableToTestConnditions == $value) {
        //do something 
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你想改变testdata的值:

$TestArray["TestData1"] = "Good Bye";
Run Code Online (Sandbox Code Playgroud)

这种方式更简洁,更简单.