PHP Array and Collection
PHP Array and Collection
Indexed Array
Associative Array
Multidimensional Array
<?php
$odd_numbers = [1,3,5,7,9];
$first_odd_number = $odd_numbers[0];
$second_odd_number = $odd_numbers[1];
?>
Associative Array
• Associative Array adalah tipe array di mana setiap elemen memiliki
kunci (key) yang terkait dengannya.
• Dalam Associative Array, elemen-elemen diakses dan diidentifikasi
berdasarkan kunci (key) yang bersifat unik.
Apakah associative array = hash table??
• Ya, dalam konteks pemrograman, Associative Array sering kali
diimplementasikan menggunakan struktur data yang dikenal sebagai
Hash Table atau Hash Map.
• Hash Table adalah struktur data yang memungkinkan penyimpanan
dan pengambilan data dengan menggunakan pasangan kunci-nilai
(key-value). Setiap elemen dalam Hash Table memiliki kunci yang unik
dan nilainya terkait dengan kunci tersebut.
• Di Python, tipe data yang mewakili Associative Array disebut sebagai
Dictionary.
Sintaks Associative Array
<?php
$phone_numbers = [
"Ani" => "415-235-8573",
" Budi" => "415-492-4856",
];
print_r($phone_numbers);
echo "Nomor telpon Ani:" . $phone_numbers["Ani"] . "\n";
echo "Nomor telpon Budi: " . $phone_numbers["Budi"] . "\n";
?>
Multidimensional Array
• Multidimensional Array adalah tipe array di mana setiap elemen
dalam array dapat berisi array lain.
• Dalam struktur Multidimensional Array ini, elemen-elemen diatur
dalam beberapa dimensi, memungkinkan penyimpanan data yang
lebih kompleks.
• Matriks sering kali diimplementasikan sebagai Multidimensional Array
dengan dua dimensi.
<?php
Sintaks $multiArray = [
[1, 2, 3],
Multidimensional [4, 5, 6],
[7, 8, 9],
Array ];
print_r($multiArray[0][0]);
print_r($multiArray[0][1]);
?>
Associative Multidimensional Array
• Associative Multidimensional Array adalah tipe array yang
menggabungkan fitur dari Associative Array dan Multidimensional
Array.
• Dalam tipe array ini, elemen-elemen diatur dalam beberapa dimensi
dengan setiap elemen memiliki kunci (key) yang terkait dengannya,
memungkinkan pengaksesan dan identifikasi berdasarkan kunci yang
unik.
<?php
$people = [
Sintaks "john_doe" => [
"name" => "John",
Associative "surname" => "Doe",
"age" => 25,
Multidimensional ],
"jane_doe" => [
Array "name" => "Jane",
"surname" => "Doe",
"age" => 25,
]
];
print_r($people);
?>
For loops [1]
<?php
$odd_numbers = [1,3,5,7,9];
<?php
$odd_numbers = [1,3,5,7,9];
<?php
$phone_numbers = [
"Ani" => "415-235-8573",
"Budi" => "415-492-4856",
];
Selengkapnya: https://laravel.com/docs/10.x/collections#introduction
Eloquent x Collection
@foreach
$studentCollection = collect($students);
Contoh kode LazyCollection
use Illuminate\Support\LazyCollection;
@foreach($studentCollection as $student)
$students = [ <p>
[ Name: {{ $student['name'] }} <br>
'nama' => 'Ani', Age: {{ $student['age'] }} <br>
'umur' => 19, Major: {{ $student['major'] }} <br>
'prodi' => 'D3 Teknik Informatika', </p>
@endforeach
],
[
'nama' => 'Budi',
'umur' => 21,
'prodi' => 'D4 Keamanan Siber',
],
[
'nama' => 'Cici',
'umur' => 20,
'prodi' => 'D4 Multimedia & Jaringan',
],
];
$studentCollection = LazyCollection::make($students);
Penggunaan cursor vs all
use App\Models\Post;
$normalPosts = Post::all();
use App\Models\Post;
$lazyPosts = Post::cursor();