检查是否存在具有动态变量名称和动态键名称以及深度的变量

时间:2018-10-19 17:15:21

标签: php multidimensional-array dynamic isset

将isset与动态变量名和动态键名一起使用而不用大括号写出键名的正确语法是什么。

示例:

$ab[0] = 'test';
$var1="ab";
$var2="[0]";
$var3="0";

//This works
if (isset(${$var1}[0])){
   echo "success";
}

//This works too
if (isset(${$var1}[$var3])){
   echo "success";
}


//But this doesn't.
if (isset(${$var1}$var2)){
   echo "success";
}

第三个示例如何工作?我不能使用第一个或第二个示例,因为我不知道数组中有多少个子数组。

1 个答案:

答案 0 :(得分:0)

您不能在变量中输入方括号。

这是代码:

<?php
$ab[0] = 'test';
$var1="ab";
$var2="0";
$var3="0";

//This works
if (isset(${$var1}[0])){
   echo "success";
}

//This works too
if (isset(${$var1}[$var3])){
   echo "success";
}


//This works too
if (isset(${$var1}[$var2])){
   echo "success";
}
?>