好的,所以数组是$ nv = array();
$ nv [$ kk] = $ value;
索引键是$ kk变量。 如果你有$ kk,那么你可以通过索引键将它们作为变量$ kk访问 $ KK?
但如果我这样做会怎么样:
$nv[$kk][$jj] = $value;
我现在可以访问分配给$ value的变量$ kk和$ jj,即使它们是 索引键,同时声音强大而可怕。
问题#1:我是一个菜鸟,只是想知道这是否是对上述代码的正确解释;此外,这种结构有什么好处?
问题2:除非我错了,否则你能用这个看起来非常强大的结构做什么?
显然只是复制整个结构“$ nv [$ kk] [$ jj] = $ value;”进入谷歌并没有产生显着的结果,大多数关于PHP数组的例子似乎都没有真正详细解释这一点。
$nv = array();
foreach($vars as $key => $value)
{
$kk = "#".strtoupper($key)."#";
$nv[$kk] = $value;
}
unset($vars);
$tdata = strtr($nv,$tdata);
return true;
或者来自php.net
一个多维数组,好吧,所以第一个索引可以是行,第二个索引可以是列 在访问“a”方面?
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}
需要一些澄清,我正在努力为我对php概念的理解打下坚实的基础,提前谢谢你,请不要为了菜鸟而烦恼。
答案 0 :(得分:1)
表达式$nv[$kk][$jj]
是维度访问。尝试在php中运行它。
$k="k";
$j="j";
$a[$k][$j]=10;
print_r($a);
echo "\n";
这将打印:
Array
(
[k] => Array
(
[j] => 10
)
)
所以k是第一维,j是另一维。
您可以使用print_r
或var_dump
打印数组中的所有元素。
希望这有帮助。
答案 1 :(得分:1)
将“多维数组”视为Fortran类型矩阵将导致您误入歧途!
$hash_of_hashes[$a][$b] = "bonjour";
真的是简写: -
$tempar = array();
$tempar[$b] = "bonjour";
$hash_of_hashes[$a] = $tempar;
php有一个“数组”结构,根据用途可以是数组或散列。数组是单维的数组条目可以是任何有效的PHP结构,缩放器,另一个数组或类。你可以在一个阵列中混合所有这些。
因此,而不是“多维数组”认为“带有另一个哈希条目的哈希”
答案 2 :(得分:0)
您正在研究的是多维数组。
您通常会使用这些将数据组织到组和子组中。我个人倾向于避免远远超过几个级别,以避免不必要的复杂性。
如果你要var_export你的数组var_export($ nv),你应该能够在执行代码时看到数组的结构。
为了扩展您的知识,我强烈建议您仔细查看arrays上的PHP文档,以避免任何混淆/误解。