日期:2014-05-17  浏览次数:20461 次

php 多维数组小问题
$families = array
(
  "Griffin"=>array
  (
  "Peter",
  "Lois",
  "Megan"
  ),
  "Quagmire"=>array
  (
  "Glenn"
  ),
  "Brown"=>array
  (
  "Cleveland",
  "Loretta",
  "Junior"
  )
);


正常打印一个元素的话,是这么写 
$families[Griffin][0],
可是我见到了这么写的
$families[Griffin[0]],
请问有什么不同,分别用在什么场所啊

------解决方案--------------------

//正如#1和#2楼所说对于楼主的例子来说第二个写法确实存在问题
//如果你实在想要一个值不妨改一下数组
$families = array
(
  "Griffin"=>array
  (
  "Peter",
  "Lois",
  "Megan"
  ),
  "Quagmire"=>array
  (
  "Glenn"
  ),
  "Brown"=>array
  (
  "Cleveland",
  "Loretta",
  "Junior"
  ),
  "Peter"=>9
);
  $Griffin=array(
  "Peter",
  "Lois",
  "Megan"
  );
print_r($families['Griffin'][0]);
print_r($Griffin[0]);
print_r($families[$Griffin[0]]);

------解决方案--------------------

//将名为fmilies数组的 下标值为[Griffin],[0]取出
$families[Griffin][0],
//将名为fmilies数组的 下标值为[Griffin[0]]取出
$families[Griffin[0]],

两种写法意义不同[]中的值就是数组中的下表
这个例子中第二种写法是错误的
------解决方案--------------------
第2中写法意思玩去昂不跟第一种相同