dongmi3203 2013-06-28 10:08
浏览 39
已采纳

字符串的键和索引 - 扭曲内爆

Snippet:

$temp = array();
foreach ($data as $key => $value) {
    // This line varies, from HTML to URLs, to anything in between
    array_push($temp, "<b>$key:</b> $value"); 
}
$request = implode('<br/>', $temp); // Glue also varies depending on needs
unset($temp);

This is a getaway from the usual $string .= 'blah<br/>'. Never mind the rtrim.

Can anyone show me a better way to achieve above without use of a temp array and possibly without a loop? Bonus points for not using above code in a function, lambda acceptable though.

P.S. While writing this question I have found a wonderful http_build_query(). One down, one to go.

Edit:

What result should look like:

<b>Title: </b> Value</br>
<b>Title2: </b> Value2</br>
<b>Title3: </b> Value3

Or with different settings (not required, but shows possibility):

key=value&key2=value2&key3=value3

I am trying to improve my code, I use the above snippet everywhere.

  • 写回答

3条回答 默认 最新

  • douxia5179 2013-06-28 10:16
    关注

    My answer: There are some ways, but:

    Loops & arrays are the best friends of any programmer.

    They provide pretty good readability, reusability and generally are considered to be a right way for performing pretty much the same actions.

    You may also take a look on array_map or array_walk. Less code, but it is a loop anyways.

    array_walk($data, function($value, $key){
      $temp[] = "<b>{$key}:</b> {$value}" ;  //Shorthand for array_push is $arr[] = $value ;
    }) ;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题