Search

Reinhart Previano K.

Do you love to Ctrl-K, Ctrl-/, or / ? Now you can do three of them (>_ )!

No results so far...

Contact Information

Blog posts from Laravel (#laravel)


Menambahkan array baru pada object array

Artikel ini merupakan jawaban saya terhadap salah satu pertanyaan pada situs Kotakode.com, sebuah forum dan komunitas para developer di Indonesia. Lihat pertanyaan asli Pertanyaan Saya punya list data berdasarkan tahun, dimana list data tersebut dicek apakah list data tersebut setiap tahun ada datanya atau tidak… jika list data tersebut tidak ada data.nya, maka tambahkan object baru… ini codingannya saya : $data = [ [ 'hak' => '12', 'tambahan' => '6', 'sisa' => '12', 'tahun' => '2019' ], [ 'hak' => '12', 'tambahan' => '6', 'sisa' => '12', 'tahun' => '2021' ] ]; $tahun = [ '2019', '2020', '2021' ]; for($i=0;$i<count($tahun);$i++){ $tahun == $tahun[$i]; $filterData = array_filter($data, function($entry) { global $tahun; return $entry['tahun'] == $tahun; } ); $newdata = [ 'hak' => '12', 'tambahan' => '0', 'sisa' => '0', 'tahun' => $tahun ]; if(count($filterData)==0){ $data = array_push($newdata); } } return $data; Hasil yang diinginkan seperti ini: [ { hak: '12', tambahan: '6', sisa: '12', tahun: '2019' }, { hak: '12', tambahan: '0', sisa: '0', tahun: '2020' }, { hak: '12', tambahan: '6', sisa: '12', tahun: '2021' } ] Tetapi setelah saya jalankan codinganya, muncul error seperti ini : array_filter() expects parameter 1 to be array, null given Jawaban Halo, kalau saya lihat kamu salah menggunakan array_push(): $data = array_push($newdata); cara yang benar untuk memakainya adalah array_push($data, $newdata); karena fungsi array_push() akan mengembalikan return value berupa jumlah isi di dalam array yang sudah dimerge, bukan array yang sudah digabungkan tersebut. Makanya muncul error itu.



Reinhart Previano Koentjoro
Reinhart Previano Koentjoro
Citra Manggala Dirgantara
Citra Manggala Dirgantara

A Reinhart company

Products

Company