[英]how to remove the curly braces and user_cart string
public function addToCart($id){
$course = Course::findOrfail($id);
$user =Auth::user();
$cart_array = array();
$cart = $user->user_cart;
if ($cart == '') {
array_push($cart_array, array('user_cart' => $course->id));
// print_r($cart_array);
} else {
$founder = false;
$cart_array = json_decode($cart, true);
for ($i = 0; $i < count($cart_array); $i++) {
$cart_for_eacch_course = $cart_array[$i];
if ($cart_for_eacch_course['user_cart'] == $course->id) {
$founder = true;
}
}
if (!$founder) {
array_push($cart_array, array('user_cart' => $course->id));
}
}
$data['user_cart'] = json_encode($cart_array);
$update = User::where('id',$user->id)->update(['user_cart'=> $cart_array]);
當前Output
[{"user_cart":86},{"user_cart":84}]
預計 Output
[84,86]
現在我有當前的 Output 但我想要一個。 我嘗試刪除 json_encode 但它對我不起作用。
您可以像這樣使用array_column()
$new_array = array_column($cart_array, 'user_cart');
當您創建 output 陣列時,您正在使用...
array_push($cart_array, array('user_cart' => $course->id));
這就是為什么你得到帶有鑰匙的子 arrays 的原因。 如果您只是添加$course->id
值,那么這應該首先構建 output 而不必進一步處理它......
$cart_array[] = $course->id;
您還需要更改線路
if ($cart_for_eacch_course['user_cart'] == $course->id) {
至
if ($cart_for_eacch_course == $course->id) {
因為您不再擁有子索引。 您可以將這部分代碼更改為使用in_array()
,這也會更短。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.