PHP密钥列表=>值

时间:2015-08-24 09:15:28

标签: php mysql

这是我在这个网站上的第一个主题;我刚从PHP开始,我是一个新手。

我看到我的问题已被多次询问和回答;我想几乎已经阅读了所有这些内容,但我没有找到最终答案。

我需要从PHP(V. 5.5)发送MySQL查询到JQuery函数的结果。 对我来说很重要的是,发送的文本字符串的格式为:FieldName = FieldValue

我尝试了本网站上发现的大部分建议,但实际上每个字段都有一个双重输入,其中包括索引:键名'。换句话说,每个字段都被发送两次,并且与fied相关联的值丢失。

使用此代码执行最后一次测试:

foreach(array_keys($row) as $key => $valore) {
  echo ($key." --> value= ".$valore."<br/>");
}

我实际收到的是:

0 --> value= 0  
1 --> value= IDcomponent  
2 --> value= 1  
3 --> value= IDtype  
4 --> value= 2  
5 --> value= Manufacturer
....  

而我需要的是:

IDcomponent = 100  
IDtype= 5  
Manufacturer = Texas  
... 

使用此备用代码:

$fields=mysql_num_fields($result);

for ($ix=0; $ix<$fields; $ix++) {
  $ky = $row[$ix];
  echo ($ky." = ".key($ky)."<br>"); 
}

我得到(例子):

100 =  
5 =  
Texas =  

密钥名称为空。

我希望这很清楚;抱歉有任何错误。

非常感谢任何帮助,谢谢

2 个答案:

答案 0 :(得分:3)

我认为你在寻找:

foreach($row as $key => $valore) {
    echo ($key." --> value= ".$valore."<br/>");
}

使用array_keys()只能循环遍历array_keys的数组。

答案 1 :(得分:1)

谢谢@Tobias;我之前尝试过你的代码,但我仍然在答案中得到两次相同的字符串。

实际上我通过解决方法解决了我的愚蠢问题。 解决方案是使用您建议的相同代码,然后使用IF来测试奇数/偶数行,然后仅发送奇数行。野蛮,但它做的工作,等待了解我做错了什么。

$cnt=0;
foreach($row as $key=>$value)
{
  if (($cnt & 1))
  echo $key."|".$value."§";
  $cnt++;
}

感谢@treegarden,他给了我一个有趣的暗示进行调查。