php - 字符串的键和索引 - 内爆

标签 php arrays optimization implode

片段:

$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);

这是一个远离通常的地方 $string .= 'blah<br/>' .没关系rtrim .

任何人都可以向我展示一种更好的方法来实现上述目标而不使用临时数组并且可能没有循环吗?不在函数中使用上述代码的奖励积分,尽管 lambda 是可以接受的。

附言在写这个问题时,我发现了一个很棒的 http_build_query() .一个下来,一个去。

编辑:

结果应该是这样的:
<b>Title: </b> Value</br>
<b>Title2: </b> Value2</br>
<b>Title3: </b> Value3

或者使用不同的设置(不是必需的,但显示了可能性):
key=value&key2=value2&key3=value3

我正在尝试改进我的代码,我到处都使用上面的代码片段。

最佳答案

我的回答:有一些方法,但是:

循环和数组是任何程序员最好的 friend 。

它们提供了非常好的可读性、可重用性,并且通常被认为是执行几乎相同操作的正确方法。

您也可以查看 array_maparray_walk .更少的代码,但无论如何它都是一个循环。

array_walk($data, function($value, $key){
  $temp[] = "<b>{$key}:</b> {$value}" ;  //Shorthand for array_push is $arr[] = $value ;
}) ;

关于php - 字符串的键和索引 - 内爆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17362243/

相关文章:

php - mkdir() 不工作

arrays - 按函数对(对称)numpy 二维数组进行排序。 (规范)

java - 具有多值键的映射?

python - 优化pdfminer

c - 为什么这样实现 log_sum 效率更高?

php - Yii 中的样式管理页面

php - 在 laravel 5.3 中调用 null 的成员函数lists()

php - 如何从 MySQL 数据库动态加载标记?

python - numpy 数组用掩码求平均值

ios - 方法 "min()"和 "max()"中内置的 Swift 4 数组是否适用于字符串数组?