php数组$key,$val问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:39:07
<?php
$a=array("a","b","c","d");
$b=array("Cat","Dog","Horse","Cow");
$c=array_combine($a,$b);
foreach ($c as $d) {echo $d[$val];}
?>

为何结果是CDHC (也就是键值的字头)
换成foreach ($c as $d) {echo $d[$key];}竟然还是这个结果!
请问错在哪?
如果我想打出所有键值,应该怎么做?

foreach($c as $d){echo $d;}这样就可以了!!
这个foreach结构中的$c as $d已经将$c中对应的每个元素的数组值放在$d里了!!

完整的是这样的
foreach($c as $key=>$value)
你上面的$d就相当于这个$value是值
$key是键值,你可以自己测试下

<?php
$a=array("a","b","c","d");
$b=array("Cat","Dog","Horse","Cow");
$c=array_combine($a,$b);
foreach ($c as $key=>$value) {echo $key,":",$value,"<br/>";}
?>输出
a:Cat
b:Dog
c:Horse
d:Cow

你那个foreach ($c as $d)语句,每循环一次,就会取出数组当中的一项赋值给这个变量$d,也就是说,变量$d已经是数组当中的值啦,

所以你直接把echo $d[$val];}

写成echo $d;就可以啦,不信你试试看~~~~~

你这个运行只是获取,"Cat","Dog","Horse","Cow"
的首位字母而已。