Today we will show how to count duplicated value by the article below. We will using function Laravel Collections. We will count elements where duplication exist. Using Illuminate\Support\Collection class provide convenient wrapper for working with collection data. You also can use the method in Laravel 6, Laravel 7, Laravel 8, and Laravel 9.
First we have to download Laravel project in your local machine. Open the terminal and run following command
composer create-project laravel/laravel Blog
Now this step we will create new controller file to implement some code in a function. Type the following command to create file.
php artisan make:controller TestController
Open file app -> Http -> Controllers -> TestController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
public function index()
{
$items = collect([3,6,6,2,1,6,3]);
$value = $items ->countBy();
dd($value);
}
public function indexByKey()
{
$items = collect([
["name" => "Sok", "gender" => "M"],
["name" => "Makara", "gender" => "M"],
["name" => "Nika", "gender" => "F"],
]);
$value = $items ->countBy(function($value)
{
return $value["gender"];
});
dd($value);
}
}
You will need to add route where your controller file located and the function should call. As we have two functions then we need two routes as well.
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TestController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', [TestController::class,'index']);
Route::get('/key',[TestController::class,'indexByKey']);
This step we will run following command to start server and launch new session in browser with following URL http://localhost:8000/ and http://localhost:8000/key
You will see the result as below
Illuminate\Support\Collection {#1897 ▼
#items: array:4 [▼
3 => 2
6 => 3
2 => 1
1 => 1
]
}
Illuminate\Support\Collection {#1916 ▼
#items: array:2 [▼
"M" => 2
"F" => 1
]
}
Hope this would help you to count duplicated item in collections Larave. Have a nice day!!!
You may also like...
Founder of CamboTutorial.com, I am happy to share my knowledge related to programming that can help other people. I love write tutorial related to PHP, Laravel, Python, Java, Android Developement, all published post are make simple and easy to understand for beginner. Follow him