在PHP中将数组与字符串组合

在PHP中将数组与字符串组合,php,Php,我在PHP中有一个下面的数组 $arrOrders['remains'] = 'ASC'; $arrOrders['rate'] = 'DESC'; 我怎样才能像使用本机函数一样使用组合到字符串 $str = 'remain ASC, rate DESC'; 您正在查找,但它不包含键,但页面上的第一条注释是包含键的函数 /** * Implode an array with the key and value pair giving * a glue, a separator be

我在PHP中有一个下面的数组

$arrOrders['remains'] = 'ASC';
$arrOrders['rate']    = 'DESC';
我怎样才能像使用本机函数一样使用组合到字符串

$str = 'remain ASC, rate DESC';
您正在查找,但它不包含键,但页面上的第一条注释是包含键的函数

/**
 * Implode an array with the key and value pair giving
 * a glue, a separator between pairs and the array
 * to implode.
 * @param string $glue The glue between key and value
 * @param string $separator Separator between pairs
 * @param array $array The array to implode
 * @return string The imploded array
 */
function array_implode( $glue, $separator, $array ) {
    if ( ! is_array( $array ) ) return $array;
    $string = array();
    foreach ( $array as $key => $val ) {
        if ( is_array( $val ) )
            $val = implode( ',', $val );
        $string[] = "{$key}{$glue}{$val}";

    }
    return implode( $separator, $string );

}


$arrOrders = array(
    'remains' => 'ASC',
    'rate'      => 'DSC'
);
$str = array_implode( ' ', ', ', $arrOrders);
您正在查找,但它不包含键,但页面上的第一条注释是包含键的函数

/**
 * Implode an array with the key and value pair giving
 * a glue, a separator between pairs and the array
 * to implode.
 * @param string $glue The glue between key and value
 * @param string $separator Separator between pairs
 * @param array $array The array to implode
 * @return string The imploded array
 */
function array_implode( $glue, $separator, $array ) {
    if ( ! is_array( $array ) ) return $array;
    $string = array();
    foreach ( $array as $key => $val ) {
        if ( is_array( $val ) )
            $val = implode( ',', $val );
        $string[] = "{$key}{$glue}{$val}";

    }
    return implode( $separator, $string );

}


$arrOrders = array(
    'remains' => 'ASC',
    'rate'      => 'DSC'
);
$str = array_implode( ' ', ', ', $arrOrders);
您可以这样做:

$string = '';
foreach($arrOrders as $key => $value)
   $string = $string . "$key $value, ";
$string  = rtrim($string, ', '); // cut the last comma at the end of the string

echo $string // remains ASC, rate DESC
您可以这样做:

$string = '';
foreach($arrOrders as $key => $value)
   $string = $string . "$key $value, ";
$string  = rtrim($string, ', '); // cut the last comma at the end of the string

echo $string // remains ASC, rate DESC

使用foreach并内爆

foreach ($arrOrders as $key => $val) {
$temp[] = "$key $val";
}
$order = implode(',', $temp);

使用foreach并内爆

foreach ($arrOrders as $key => $val) {
$temp[] = "$key $val";
}
$order = implode(',', $temp);


是否考虑过使用foreach处理数组?是否考虑过使用foreach处理数组?您是否总是在每个简单操作中使用您知道的所有PHP函数?+1对于函数的使用,有人知道这个preform与简单foreach HL的区别吗。发布?不是真的-但我必须承认我喜欢数组的函数方法。这是品味的问题…这是代码膨胀的问题,伙计。不必要的浮肿。不要太担心,因为我想有一个这样的方法。。。我知道如果我关心性能,我可以考虑只需循环。对于每个简单的操作,你总是使用你知道的所有PHP函数吗?+1对于函数的使用,有人知道这个preform与简单的foreach HL是如何比较的。发布?不是真的-但我必须承认我喜欢数组的函数方法。这是品味的问题…这是代码膨胀的问题,伙计。不必要的浮肿。不要太担心,因为我想有一个这样的方法。。。我知道如果我关心性能,我可以考虑只需循环。不管怎样,我现在要+1,因为这是这里唯一合理的答案。是的,社区意识,正如你所说的。这个社区就是一个病态的社区。几乎每一个答案都是无用的或传播的,不管是什么坏习惯。这就是我对选票要求太严格的原因。这里的习惯是不为任何事投票,只是为了表示同情。有没有抱怨过不公正的投票?哈哈,你从来没有抱怨过。我想是的。你关心的只是否决票:不。正如我已经说过的,这个网站的否决票严重不足。这是不可能的。他们中的大多数人只关心选票,而不关心知识。不管怎样,我现在将+1,因为这是这里唯一明智的答案。是的,就像你说的,社区意识。这个社区就是一个病态的社区。几乎每一个答案都是无用的或传播的,不管是什么坏习惯。这就是我对选票要求太严格的原因。这里的习惯是不为任何事投票,只是为了表示同情。有没有抱怨过不公正的投票?哈哈,你从来没有抱怨过。我想是的。你关心的只是否决票:不。正如我已经说过的,这个网站的否决票严重不足。这是不可能的。他们中的大多数人只关心选票,而不关心知识。你有什么错误吗?你确定你用的是正确的吗?它对你来说很好用me@vietean曾经考虑过从代码中学习的可能性,而不仅仅是复制粘贴它吗?你有没有遇到错误或其他什么?你确定你用的是正确的吗?它对你来说很好用me@vietean有没有考虑过从代码中学习的可能性,而不仅仅是复制粘贴?