我有一个像这样的数组,$arr = array_diff($cart_value_arr,$cart_remove_arr);
我想将它转换为字符串而不使用implode方法,还有其他方法吗?而且我想从$ cart_value_arr中删除$ cart_remove_arr我使用的array_diff方法是否正确?
你可以使用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}
另一种方式是经典的foreach
加上string concatenation
$string = '';
foreach ($arr as $value) {
$string .= $value . ', ';
}
echo rtrim($string, ', ');
另一种方法是使用serialize()
(http://php.net/manual/en/function.serialize.php),就像......一样简单
$string = serialize($arr);
这可以处理大多数类型和unserialize()
来重建原始值。
$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,