我认为这对你们中的一些人来说可能是一个简单的问题。我发现了类似的问题,但他们并没有完全解决我的问题。
我有两个阵列。
$ array_numerals
Array
(
[2] => two
[3] => three
[4] => four
[5] => five
[6] => six
[7] => seven
)
$ array_two
Array
(
[0] => $100
[1] => $200
[2] => $300
)
如果我使用
echo $array_two[0];
正确显示输出,$100
,正如预期的那样。
我想做的是制作" 2"和#34; [0]"动态。 "两个"可以用"三"或"四"而#34; [0]"可以替换为" [1]"或" [2]"。
所以,如果我使用
$i = 2;
$j = 0;
echo $array_{$array_numerals[$i]}[$j];
它不起作用并显示空值。
编辑:谢谢大家的意见和回答。我必须补充说$ array_two,$ array_three等是另一个源给出的固定变量,所以它不像我可以控制这些数组的初始构造。因此,你们中的一些人给出的答案不会开箱即用(当然不是你的错,也许我在开始时并没有做出足够的澄清)。 Amadan和LuvnJesus给出的答案效果最好。
答案 0 :(得分:4)
echo ${"array_$array_numerals[$i]"}[$j];
但我必须警告你,这样做是一个非常糟糕的主意。 而是使用另一个查找数组:
$array = Array(
0 => Array(
2 => "$100",
...
),
...
);
echo $array[$i][$j];
答案 1 :(得分:0)
为什么不使用:
$array['two'][0]
$array['three'][0]
$array['four'][0]
$array['four'][1]
etc...
答案 2 :(得分:0)
你可以像这样使用它:
$array_two[0] = $array_two[1];
用另一个数组做同样的事情。
答案 3 :(得分:0)
首先,创建"名称"数组并将其存储在变量中:
$arrayname = "array_".$array_numerals[$i];
将数组值存储到新数组
$newarray = $$arrayname;
现在输出您想要的任何元素:
echo $newarray[$j];
总而言之:
$arrayname = "array_".$array_numerals[$i];
$newarray = $$arrayname;
echo $newarray[$j];
答案 4 :(得分:0)
您可以使用PHP的Sub Button1_Click()
Dim myPath As String, Fname As String
myPath = "C:\SourceFolder"
ChDir myPath
Fname = Application.GetOpenFilename(FileFilter:="Excel Files, *.xlsx; *.xls", Title:="Select File", MultiSelect:=False)
If Fname <> fale Then
Workbooks.Open (Fname)
End If
End Sub
功能。我已经使用了你的数组并根据需要创建了结果。请check here