首页 > 解决方案 > PHP 数组和使用变量变量来选择正确的一个

问题描述

第一次在这里发帖,只是学习PHP,很抱歉我要问的问题。

我有一系列具有精心结构名称的数组。在前面的 PHP 中,我识别了名称的各个部分,并使用它来创建一个与我需要引用的数组的名称匹配的字符串,但是当我尝试间接寻址数组时,我不断收到数组到字符串的错误。

有没有办法将它作为数组传递?

IE

$Array1A = Array(1,2,3,4);
$Array1B = Array(2,3,4,1);
$Array2A = Array(3,4,1,2);
$Array2B = Array(4,1,2,3);

$Var1 = '2';
$Var2 = 'A';
$ArrayToLookup = 'Array'.$Var1.$Var2; // Returns the String 'Array2A'

$ArrayToUse = ${$ArrayToLookup}; // I get an Array to String error here

$Answer = $ArrayToUse[2]; // I would want this to read off $Array2A[2]

标签: phparrays

解决方案


您的代码适用于 PHP 7.4,我建议尝试的一件事是双“$”:

$Array1A = Array(1,2,3,4);
$Array1B = Array(2,3,4,1);
$Array2A = Array(3,4,1,2);
$Array2B = Array(4,1,2,3);

$Var1 = '2';
$Var2 = 'A';
$ArrayToLookup = 'Array'.$Var1.$Var2; // Returns the String 'Array2A'

$ArrayToUse = ${$ArrayToLookup}; // <- this works when tested on php 7.4
$ArrayToUse = $$ArrayToLookup; // <- this should work since its 10 years old

$Answer = $ArrayToUse[2]; // I would want this to read off $Array2A[2]

echo $Answer; // returns 1

推荐阅读