如何在不使用implode方法的情况下将Array转换为PHP中的字符串?

问题描述 投票:1回答:4

我有一个像这样的数组,$arr = array_diff($cart_value_arr,$cart_remove_arr);我想将它转换为字符串而不使用implode方法,还有其他方法吗?而且我想从$ cart_value_arr中删除$ cart_remove_arr我使用的array_diff方法是否正确?

php arrays
4个回答
4
投票

你可以使用json_encode

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

这也适用于多维数组

将导致:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Doc:http://php.net/manual/en/function.json-encode.php


1
投票

另一种方式是经典的foreach加上string concatenation

$string = '';
foreach ($arr as $value) {
    $string .= $value . ', ';
}
echo rtrim($string, ', ');

1
投票

另一种方法是使用serialize()http://php.net/manual/en/function.serialize.php),就像......一样简单

$string = serialize($arr);

这可以处理大多数类型和unserialize()来重建原始值。


0
投票
$cart_remove_arr = array(0 => 1, 1=> 2, 2 => 3);
$cart_value_arr = array(0 => 5, 1=> 2, 2 => 3, 3 => 4, 4 => 6);
$arr = array_diff($cart_value_arr, $cart_remove_arr);
echo '<pre>';
print_r($arr);

$string = "";

foreach($arr as $value) {
    $string .= $value.', ';
}
echo $string;

**Output: Naveen want to remove $cart_remove_arr from $cart_value_arr
Remaining array**
Array
(
    [0] => 5
    [3] => 4
    [4] => 6
)
he want a similar out as implode()
**String** 5, 4, 6, 
© www.soinside.com 2019 - 2024. All rights reserved.