php数组$key,$val问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php数组$key,$val问题相关的知识,希望对你有一定的参考价值。

<?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
参考技术A 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
参考技术B 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
参考技术C 你那个foreach ($c as $d)语句,每循环一次,就会取出数组当中的一项赋值给这个变量$d,也就是说,变量$d已经是数组当中的值啦,

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

写成echo $d;就可以啦,不信你试试看~~~~~
参考技术D 你这个运行只是获取,"Cat","Dog","Horse","Cow"
的首位字母而已。

PHP数组和XML相互转换的函数

    //数组转xml
function ArrtoXml($arr)
   {
if(!is_array($arr) || count($arr) == 0) return ‘‘;
$xml="<xml>";
foreach($arr as $key => $val)
{
if(is_numeric($val))
{
$xml.="<".$key.">".$val."</".$key.">";
}else{
$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
}
}
$xml.="</xml>";
return $xml;
}

//Xml转数组
function XmlToArr($xml)
{
if($xml == ‘‘) return ‘‘;
libxml_disable_entity_loader(true);
$arr = json_decode(json_encode(simplexml_load_string($xml, ‘SimpleXMLElement‘, LIBXML_NOCDATA)), true);
return $arr;
}
























以上是关于php数组$key,$val问题的主要内容,如果未能解决你的问题,请参考以下文章

php删除数组中指定值的元素

PHP二维数组根据某个元素(key)排序

php使用foreach将值插入数组数组

PHP如何动态为多维数组的子数组分别添加元素

php怎么去除数组中的空值

PHP数组和XML相互转换的函数