用于翻译PHP数组的创新,高效的单行程

时间:2014-11-25 18:59:46

标签: php arrays

几乎纯粹出于好奇,我怎么能拿出这样的数组:

array( 'fruit' => 'banana', 'drink' => 'milk')

并将其转换为如下数组:

array( 'fruit=banana', 'drink=milk')

要求

  • 无法使用匿名函数
  • 如果需要,只能使用接受可调用的array_*函数,如果该调用是PHP本机的
  • 优选单线溶液

这不适合上课。我很想知道数组函数有多聪明。鉴于这些要求,是否可能?

修改: 这是激发这个问题的现实场景

$config = array_merge(
    $this->_parameters,
    array(
        '_curPage'     => $this->_curPage,
        '_pageSize'    => $this->_pageSize,
        '_curOrder'    => array('field' => 'asc', 'field2' => 'desc') // <-- here
    )
);

正如您所看到的,为了便于阅读,单行似乎是合适的。

1 个答案:

答案 0 :(得分:11)

http_build_query将从数组中生成一个查询字符串,然后允许您通过&符分隔符进行爆炸。

explode('&', http_build_query($array))