带有键值对的PHP数组迭代

时间:2013-05-24 03:47:47

标签: php

我想用“$ key => $ value”对迭代一个数组,但是想要去最后一个项目。我想知道如何使用foreach或任何其他功能。

这就是我想要这样做的原因。 我的数组中的键是URL参数,值是该参数的值。现在我将构建URL查询为 键1 =值&安培;键2 =值&安培; KEY3 =值3

我将添加分隔符“&”在每个键值之间但不在最后。要做到这一点,我想通过放置分隔符并将最后一个分隔符更改为空白字符串来上升到最后一个项目。

那么请让我知道如何使用foreach来持续使用一个项目或者为我提供更好的解决方案?感谢。

1 个答案:

答案 0 :(得分:3)

最好使用http_build_query

   <?php
   $data = array('foo'=>'bar',
          'baz'=>'boom',
          'cow'=>'milk',
          'php'=>'hypertext processor');

   echo http_build_query($data) . "\n";
   // Output : foo=bar&baz=boom&cow=milk&php=hypertext+processor

   echo http_build_query($data, '', '&amp;');
   // Ouput: foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

   ?>

http://php.net/manual/en/function.http-build-query.php

使用foreach循环(不推荐)

   <?php
   $ar_qs = array();
   foreach ($data as $key => $value) {
     $ar_qs[] = "$key=". urlencode($value);
   }
   echo $query_string = implode("&", $ar_qs);
   ?>