<?
$vararray = array(
"地支" => array("子", "丑", "寅", "卯"),
"生肖" => array("鼠", "牛", "虎", "兔"),
"数字" => array(1, 2, 3, array(4,5,6,7,8))
);function DG ($var,$name)
{
echo "<dl>";
echo "<dt>遍历数组\"$name\"";
while (list($key,$value)=each($var))
{
if (is_array($value))
{
DG($value,$key);
}
else
echo "<dd>$key => $value";
}
echo "</dl>";
}$test = array ();
$test["first"][] = $vararray;
//上面一行是什么意思呢?
//答:这一行的意思是为$test["first"]再添一个数组元素,值为$vararray
//下面一行又是什么意思呢?
$test["first"][][] = $vararray;
//答:为test["first"]新添一个数组元素,为新添的数组元素再新添一个数组元素.(舌头打结了,@_@)DG($test,"test");
?>套用我今天早上给你的程序 你看看就明白了.
$vararray = array(
"地支" => array("子", "丑", "寅", "卯"),
"生肖" => array("鼠", "牛", "虎", "兔"),
"数字" => array(1, 2, 3, array(4,5,6,7,8))
);function DG ($var,$name)
{
echo "<dl>";
echo "<dt>遍历数组\"$name\"";
while (list($key,$value)=each($var))
{
if (is_array($value))
{
DG($value,$key);
}
else
echo "<dd>$key => $value";
}
echo "</dl>";
}$test = array ();
$test["first"][] = $vararray;
//上面一行是什么意思呢?
//答:这一行的意思是为$test["first"]再添一个数组元素,值为$vararray
//下面一行又是什么意思呢?
$test["first"][][] = $vararray;
//答:为test["first"]新添一个数组元素,为新添的数组元素再新添一个数组元素.(舌头打结了,@_@)DG($test,"test");
?>套用我今天早上给你的程序 你看看就明白了.
这时$test的值如下:
Array ( [first] => Array ( [0] => Array ( [地支] => Array ( [0] => 子 [1] => 丑 [2] => 寅 [3] => 卯 ) [生肖] => Array ( [0] => 鼠 [1] => 牛 [2] => 虎 [3] => 兔 ) [数字] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 7 [4] => 8 ) ) ) ) )
$test["first"][][] = $vararray;是把$vararray的值赋给$test["first"][X+1][0]
这时$test的值如下:
Array ( [first] => Array ( [0] => Array ( [地支] => Array ( [0] => 子 [1] => 丑 [2] => 寅 [3] => 卯 ) [生肖] => Array ( [0] => 鼠 [1] => 牛 [2] => 虎 [3] => 兔 ) [数字] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 7 [4] => 8 ) ) ) [1] => Array ( [0] => Array ( [地支] => Array ( [0] => 子 [1] => 丑 [2] => 寅 [3] => 卯 ) [生肖] => Array ( [0] => 鼠 [1] => 牛 [2] => 虎 [3] => 兔 ) [数字] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 7 [4] => 8 ) ) ) ) ) )
先定义个数组.
$test["first"][] = $vararray;
再给数组的第一元素赋值,这和$test["first"] = "乱78糟"是一个道理,只不过,赋的又是个数组.
$test["first"][]是给第二维赋值,此时相当于$test["test"][0]=$vararray;
$test["first"]="乱789"是给一维赋值,对应形式是:
$test[]="乱789"
$test["first"][]是给第二维赋值,此时相当于$test["test"][0]=$vararray;
$test["first"]="乱789"是给一维赋值,对应形式是:
$test[]="乱789"
1.二维数组的每一个元素都是一个具体的数或者字符;二维数组一定是一个(m X n)的方阵;
2.数组的数组事实上是一维数组,只不过这个一维数组的元素是数组;数组的数组却不一定是方阵
<?
$vararray = array(
"地支" => array("子", "丑", "寅", "卯"),
"生肖" => array("鼠", "牛", "虎", "兔"),
"数字" => array(1, 2, 3, array(4,5,6,7,8))
);
$test = array ();
$test["first"][] = $vararray;
//到这里似乎说明$test是数组的数组,(或者说二维数组),那么任意的$test[]的元素都应该是一个数组。可是下面的代码又是对的
$test["second"] = "second";
$test["third"] = 33333;
$test[] = 4444;
?>
//这个是散列表
$vararray = array(
"地支" => array("子", "丑", "寅", "卯"),
"生肖" => array("鼠", "牛", "虎", "兔"),
"数字" => array(1, 2, 3, array(4,5,6,7,8))
);
//这个是二维数组
$vararray = array(
array("子", "丑", "寅", "卯"),
array("鼠", "牛", "虎", "兔"),
array(1, 2, 3, 4)
);?>